/* 세금 사이트 저충실 프로토타입 — 가족 사이트(aifamilyinvesting.com 전문가 화면) 토큰을 그대로 옮김. 외부 의존 없음. */
/* ── 색 토큰 ──
   기본 = BOOK 1 표지 B 올리브·코랄(잠정, 밝은 머리 ①). 전환: `?theme=oliveB2`(중간 올리브 머리) · `wineB`(버건디, 이전 기본) · `wineA|wineC` · `plumB` · `plum0` · `family`(가족 파랑).
   레이아웃·간격·컴포넌트는 가족 사이트와 같고 색은 이 변수만 바뀐다. 의미 색 배지(확인·가정·모름·서류·규칙)는 모든 테마에서 아이콘+글자 병기이며 올리브는 면·버튼·선에만 쓴다. */
:root{
  /* 기본 = BOOK 1 표지 B(올리브·코랄, 잠정) · 밝은 머리 ① — 사양: upload\2026-10-22_12권_표지\사이트색_사양_B.md */
  --lx-accent:#3B4219; --lx-accent-ink:#20230F; --lx-aline:#CFD3A6; --lx-soft:#EEF0DA; --lx-side:#F4F6E6;
  --tint-a:#FAFBF3; --tint-b:#F5F7EA; --lx-line:#DEE1CB;
  --lx-link:#1F5F99; --lx-focus:#B8452A; --lx-pop:#B8452A;
  --lx-ink:#20230F; --lx-text:#2B2F1A; --lx-muted:#5B6040;
  --lx-warn:#7A4B00; --lx-warn-soft:#FFF1CC; --lx-loss:#9E1C2B; --lx-loss-soft:#FDE8EA;
  --bd-in-bg:#F3F4E8; --bd-in-bd:#B3B792; --bd-in-ink:#2B2F1A; --bd-ass-bg:#FFF1CC; --bd-ass-bd:#B88A1E; --bd-ass-ink:#7A4B00;
  --bd-unk-bg:#E9EDF2; --bd-unk-bd:#7B8794; --bd-unk-ink:#44505F; --bd-ok-bg:#E3F4EC; --bd-ok-bd:#0F6B50; --bd-ok-ink:#0F6B50; --bd-carry-bg:#FFF8E1;
  --sem-rule-bg:#e6eefc; --sem-rule-bd:#9fbdf0; --sem-rule-ink:#0f3a9f; --sem-doc:#164ed8;
  --ft-bg:#20230F; --ft-ink:#FFFFFF; --ft-muted:#A9AE7C; --ft-link:#F2A78F; --ft-line:#3B4219; --ft-tbd:#FFD58A;
  --hd-bg:#E9EDCB; --hd-ink:#20230F; --hd-muted:#5B6040; --hd-link:#1F5F99; --hd-bd:rgba(59,66,25,.5); --hd-sel-bg:#3B4219; --hd-sel-ink:#FFFFFF; --hd-sel-bd:#B8452A; --hd-bottom:#3B4219; --hd-bw:3px;
  --hd-active-bg:#3B4219; --hd-active-ink:#FFFFFF; --hd-hover:rgba(59,66,25,.1);
  --r-card:12px; --r-btn:10px; --r-pill:12px; --tap:44px;
}
:root[data-theme="oliveB2"]{
  --hd-bg:#5F6A2A; --hd-ink:#FFFFFF; --hd-muted:#F1F3DC; --hd-link:#F2A78F; --hd-bd:rgba(255,255,255,.5); --hd-sel-bg:#3B4219; --hd-sel-ink:#FFFFFF; --hd-sel-bd:#F2A78F; --hd-bottom:#3B4219; --hd-bw:3px;
  --hd-active-bg:#F2A78F; --hd-active-ink:#20230F; --hd-hover:rgba(255,255,255,.12);
}
:root[data-theme="wineB"]{
  --lx-ink:#12161f; --lx-text:rgb(49,51,63); --lx-muted:#5b6475;
  --lx-warn:#8a5a00; --lx-warn-soft:#fdf3dc; --lx-loss:#a12626; --lx-loss-soft:#fbeaea;
  --bd-in-bg:#f7f8fb; --bd-in-bd:#aeb6c6; --bd-in-ink:#2f3747; --bd-ass-bg:#fff5dd; --bd-ass-bd:#b88a1e; --bd-ass-ink:#6b4a06;
  --bd-unk-bg:#fff; --bd-unk-bd:#7d8696; --bd-unk-ink:#4a5263; --bd-ok-bg:#eaf6ee; --bd-ok-bd:#8cc7a0; --bd-ok-ink:#1d5a32; --bd-carry-bg:#fff;
  --sem-rule-bg:#e6eefc; --sem-rule-bd:#9fbdf0; --sem-rule-ink:#0f3a9f; --sem-doc:#164ed8;
  --ft-bg:#fafbfc; --ft-ink:#12161f; --ft-muted:#5b6475; --ft-link:var(--lx-link); --ft-line:var(--lx-line); --ft-tbd:#8a5a00;
  --hd-bw:.8px; --hd-active-bg:#FFC266; --hd-active-ink:#3A0E27; --hd-hover:rgba(255,255,255,.12);
  --lx-pop:var(--lx-accent-ink);
  --r-card:12px; --r-btn:10px; --r-pill:12px; --tap:44px;

  --lx-accent:#561C47; --lx-accent-ink:#3A0E27; --lx-aline:#DDBCD1; --lx-soft:#F6E9F1; --lx-side:#F8F0F5;
  --lx-link:#9A4A00; --lx-focus:#B45F06;
  --tint-a:#FCF7FA; --tint-b:#F9F2F6; --lx-line:#E4DADF;
  --hd-bg:#6A2646; --hd-ink:#FFFFFF; --hd-muted:#EFE0E8; --hd-link:#FFC266; --hd-bd:rgba(255,255,255,.42); --hd-sel-bg:rgba(255,255,255,.16); --hd-sel-ink:#FFFFFF; --hd-sel-bd:#FFC266; --hd-bottom:#7A3558;
}
:root[data-theme="wineA"]{
  --lx-ink:#12161f; --lx-text:rgb(49,51,63); --lx-muted:#5b6475;
  --lx-warn:#8a5a00; --lx-warn-soft:#fdf3dc; --lx-loss:#a12626; --lx-loss-soft:#fbeaea;
  --bd-in-bg:#f7f8fb; --bd-in-bd:#aeb6c6; --bd-in-ink:#2f3747; --bd-ass-bg:#fff5dd; --bd-ass-bd:#b88a1e; --bd-ass-ink:#6b4a06;
  --bd-unk-bg:#fff; --bd-unk-bd:#7d8696; --bd-unk-ink:#4a5263; --bd-ok-bg:#eaf6ee; --bd-ok-bd:#8cc7a0; --bd-ok-ink:#1d5a32; --bd-carry-bg:#fff;
  --sem-rule-bg:#e6eefc; --sem-rule-bd:#9fbdf0; --sem-rule-ink:#0f3a9f; --sem-doc:#164ed8;
  --ft-bg:#fafbfc; --ft-ink:#12161f; --ft-muted:#5b6475; --ft-link:var(--lx-link); --ft-line:var(--lx-line); --ft-tbd:#8a5a00;
  --hd-bw:.8px; --hd-active-bg:#FFC266; --hd-active-ink:#3A0E27; --hd-hover:rgba(255,255,255,.12);
  --lx-pop:var(--lx-accent-ink);
  --r-card:12px; --r-btn:10px; --r-pill:12px; --tap:44px;

  --lx-accent:#511A44; --lx-accent-ink:#3A0E27; --lx-aline:#D6B6C9; --lx-soft:#F5E8F0; --lx-side:#F7EFF4;
  --lx-link:#9A4A00; --lx-focus:#B45F06;
  --tint-a:#FBF6F9; --tint-b:#F8F1F5; --lx-line:#E1D8DE;
  --hd-bg:#5A1E3E; --hd-ink:#FFFFFF; --hd-muted:#EFE0E8; --hd-link:#FFC266; --hd-bd:rgba(255,255,255,.42); --hd-sel-bg:rgba(255,255,255,.16); --hd-sel-ink:#FFFFFF; --hd-sel-bd:#FFC266; --hd-bottom:#6A2A52;
}
:root[data-theme="wineC"]{
  --lx-ink:#12161f; --lx-text:rgb(49,51,63); --lx-muted:#5b6475;
  --lx-warn:#8a5a00; --lx-warn-soft:#fdf3dc; --lx-loss:#a12626; --lx-loss-soft:#fbeaea;
  --bd-in-bg:#f7f8fb; --bd-in-bd:#aeb6c6; --bd-in-ink:#2f3747; --bd-ass-bg:#fff5dd; --bd-ass-bd:#b88a1e; --bd-ass-ink:#6b4a06;
  --bd-unk-bg:#fff; --bd-unk-bd:#7d8696; --bd-unk-ink:#4a5263; --bd-ok-bg:#eaf6ee; --bd-ok-bd:#8cc7a0; --bd-ok-ink:#1d5a32; --bd-carry-bg:#fff;
  --sem-rule-bg:#e6eefc; --sem-rule-bd:#9fbdf0; --sem-rule-ink:#0f3a9f; --sem-doc:#164ed8;
  --ft-bg:#fafbfc; --ft-ink:#12161f; --ft-muted:#5b6475; --ft-link:var(--lx-link); --ft-line:var(--lx-line); --ft-tbd:#8a5a00;
  --hd-bw:.8px; --hd-active-bg:#FFC266; --hd-active-ink:#3A0E27; --hd-hover:rgba(255,255,255,.12);
  --lx-pop:var(--lx-accent-ink);
  --r-card:12px; --r-btn:10px; --r-pill:12px; --tap:44px;

  --lx-accent:#5E2050; --lx-accent-ink:#3E1432; --lx-aline:#E0BDD3; --lx-soft:#F7EAF2; --lx-side:#F9F1F6;
  --lx-link:#9A4A00; --lx-focus:#B45F06;
  --tint-a:#FCF7FA; --tint-b:#F9F2F6; --lx-line:#E6DCE1;
  --hd-bg:#7A2E52; --hd-ink:#FFFFFF; --hd-muted:#F4E6EE; --hd-link:#FFC266; --hd-bd:rgba(255,255,255,.42); --hd-sel-bg:rgba(255,255,255,.16); --hd-sel-ink:#FFFFFF; --hd-sel-bd:#FFC266; --hd-bottom:#8A3F62;
}
:root[data-theme="plumB"]{
  --lx-ink:#12161f; --lx-text:rgb(49,51,63); --lx-muted:#5b6475;
  --lx-warn:#8a5a00; --lx-warn-soft:#fdf3dc; --lx-loss:#a12626; --lx-loss-soft:#fbeaea;
  --bd-in-bg:#f7f8fb; --bd-in-bd:#aeb6c6; --bd-in-ink:#2f3747; --bd-ass-bg:#fff5dd; --bd-ass-bd:#b88a1e; --bd-ass-ink:#6b4a06;
  --bd-unk-bg:#fff; --bd-unk-bd:#7d8696; --bd-unk-ink:#4a5263; --bd-ok-bg:#eaf6ee; --bd-ok-bd:#8cc7a0; --bd-ok-ink:#1d5a32; --bd-carry-bg:#fff;
  --sem-rule-bg:#e6eefc; --sem-rule-bd:#9fbdf0; --sem-rule-ink:#0f3a9f; --sem-doc:#164ed8;
  --ft-bg:#fafbfc; --ft-ink:#12161f; --ft-muted:#5b6475; --ft-link:var(--lx-link); --ft-line:var(--lx-line); --ft-tbd:#8a5a00;
  --hd-bw:.8px; --hd-active-bg:#FFC266; --hd-active-ink:#3A0E27; --hd-hover:rgba(255,255,255,.12);
  --lx-pop:var(--lx-accent-ink);
  --r-card:12px; --r-btn:10px; --r-pill:12px; --tap:44px;

  --lx-accent:#6A2A5C; --lx-accent-ink:#4A1A3C; --lx-aline:#DCC0D5; --lx-soft:#F7ECF4; --lx-side:#F9F2F7;
  --lx-link:#9A4A00; --lx-focus:#B45F06;
  --tint-a:#FCF7FA; --tint-b:#F9F2F6; --lx-line:#E5DCE2;
  --hd-bg:#4A1A3C; --hd-ink:#FFFFFF; --hd-muted:#EBDAE5; --hd-link:#FFC266; --hd-bd:rgba(255,255,255,.42); --hd-sel-bg:rgba(255,255,255,.16); --hd-sel-ink:#FFFFFF; --hd-sel-bd:#FFC266; --hd-bottom:#6A2A5C;
}
:root[data-theme="plum0"]{
  --lx-ink:#12161f; --lx-text:rgb(49,51,63); --lx-muted:#5b6475;
  --lx-warn:#8a5a00; --lx-warn-soft:#fdf3dc; --lx-loss:#a12626; --lx-loss-soft:#fbeaea;
  --bd-in-bg:#f7f8fb; --bd-in-bd:#aeb6c6; --bd-in-ink:#2f3747; --bd-ass-bg:#fff5dd; --bd-ass-bd:#b88a1e; --bd-ass-ink:#6b4a06;
  --bd-unk-bg:#fff; --bd-unk-bd:#7d8696; --bd-unk-ink:#4a5263; --bd-ok-bg:#eaf6ee; --bd-ok-bd:#8cc7a0; --bd-ok-ink:#1d5a32; --bd-carry-bg:#fff;
  --sem-rule-bg:#e6eefc; --sem-rule-bd:#9fbdf0; --sem-rule-ink:#0f3a9f; --sem-doc:#164ed8;
  --ft-bg:#fafbfc; --ft-ink:#12161f; --ft-muted:#5b6475; --ft-link:var(--lx-link); --ft-line:var(--lx-line); --ft-tbd:#8a5a00;
  --hd-bw:.8px; --hd-active-bg:#FFC266; --hd-active-ink:#3A0E27; --hd-hover:rgba(255,255,255,.12);
  --lx-pop:var(--lx-accent-ink);
  --r-card:12px; --r-btn:10px; --r-pill:12px; --tap:44px;

  --lx-accent:#511A44; --lx-accent-ink:#3A0E27; --lx-aline:#D6B6C9; --lx-soft:#F5E8F0; --lx-side:#F7EFF4;
  --lx-link:#9A4A00; --lx-focus:#B45F06;
  --tint-a:#FBF6F9; --tint-b:#F8F1F5; --lx-line:#E1D8DE;
  --hd-bg:#26091B; --hd-ink:#FFFFFF; --hd-muted:#E8D6E1; --hd-link:#FFC266; --hd-bd:rgba(255,255,255,.42); --hd-sel-bg:rgba(255,255,255,.16); --hd-sel-ink:#FFFFFF; --hd-sel-bd:#FFC266; --hd-bottom:#511A44;
}
:root[data-theme="family"]{
  --lx-ink:#12161f; --lx-text:rgb(49,51,63); --lx-muted:#5b6475;
  --lx-warn:#8a5a00; --lx-warn-soft:#fdf3dc; --lx-loss:#a12626; --lx-loss-soft:#fbeaea;
  --bd-in-bg:#f7f8fb; --bd-in-bd:#aeb6c6; --bd-in-ink:#2f3747; --bd-ass-bg:#fff5dd; --bd-ass-bd:#b88a1e; --bd-ass-ink:#6b4a06;
  --bd-unk-bg:#fff; --bd-unk-bd:#7d8696; --bd-unk-ink:#4a5263; --bd-ok-bg:#eaf6ee; --bd-ok-bd:#8cc7a0; --bd-ok-ink:#1d5a32; --bd-carry-bg:#fff;
  --sem-rule-bg:#e6eefc; --sem-rule-bd:#9fbdf0; --sem-rule-ink:#0f3a9f; --sem-doc:#164ed8;
  --ft-bg:#fafbfc; --ft-ink:#12161f; --ft-muted:#5b6475; --ft-link:var(--lx-link); --ft-line:var(--lx-line); --ft-tbd:#8a5a00;
  --hd-bw:.8px; --hd-active-bg:#FFC266; --hd-active-ink:#3A0E27; --hd-hover:rgba(255,255,255,.12);
  --lx-pop:var(--lx-accent-ink);
  --r-card:12px; --r-btn:10px; --r-pill:12px; --tap:44px;

  --lx-accent:#164ed8; --lx-accent-ink:#0f3a9f; --lx-aline:#bcd3f5; --lx-soft:#e6eefc; --lx-side:#eef3fb;
  --lx-link:#164ed8; --lx-focus:#164ed8;
  --tint-a:#fbfcff; --tint-b:#f7f9ff; --lx-line:#d9dde7;
  --hd-active-bg:#164ed8; --hd-active-ink:#fff; --hd-hover:#f2f5f5;
  --hd-bg:#FFFFFF; --hd-ink:#12161f; --hd-muted:#5b6475; --hd-link:#164ed8; --hd-bd:#d9dde7; --hd-sel-bg:#e6eefc; --hd-sel-ink:#164ed8; --hd-sel-bd:#164ed8; --hd-bottom:#d9dde7;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Pretendard","Noto Sans KR",system-ui,sans-serif;font-size:15px;line-height:1.6;color:var(--lx-text);background:var(--bg,var(--pg,#fff));word-break:keep-all}
a{color:var(--lx-link)}
:focus-visible{outline:2px solid var(--lx-focus);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:8px;top:8px;background:var(--pg,#fff);padding:8px 12px;z-index:99;border:1px solid var(--lx-line)}

/* 공통 헤더 (가족 사이트 .lx-top 구조) */
.sp{flex:1}
.role{width:100%;font-size:12.5px;color:var(--hd-muted);margin:0}
.role b{color:var(--hd-ink)}

/* 단계 탭 (가족 사이트 .lx-steps) */
.lx-steps button.done::after{content:" ✓";color:#1d7a3a}

/* [새 패턴] 미완료 바 — 모든 화면 상단 고정 */
.st-bar{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:8px 16px;background:var(--lx-side);border-bottom:1px solid var(--lx-line);font-size:13.5px;position:sticky;top:46px;z-index:15}
.st-bar .stp{font-weight:700;color:var(--lx-ink)}
.st-bar .cnt{display:inline-flex;gap:4px;align-items:center}
.st-bar .cnt b{font-variant-numeric:tabular-nums}
.st-bar .cnt.warn b{color:var(--lx-warn)}
.st-bar .why{font:inherit;font-size:13px;border:0;background:none;color:var(--lx-link);text-decoration:underline;cursor:pointer;min-height:32px;padding:0}

/* 레이아웃: 모바일 우선 1열, 960px 이상 사이드 패널 */
.lx-wrap{display:block}
.lx-side{background:var(--lx-side);padding:12px 16px;border-bottom:1px solid var(--lx-line)}
.lx-side h2{font-size:15px;margin:0 0 4px}
.lx-side h3{font-size:13px;color:var(--lx-muted);margin:12px 0 6px}
.lx-main{padding:16px 16px 32px;max-width:860px}
@media(min-width:960px){
  .lx-wrap{display:grid;grid-template-columns:280px 1fr}
  .lx-side{border-bottom:0;border-right:1px solid var(--lx-line);min-height:calc(100vh - 120px)}
  .lx-main{padding:20px 32px 40px}
}
h1{font-size:24px;font-weight:600;color:var(--lx-ink);margin:4px 0 8px;line-height:1.35}
h2{font-size:18px;font-weight:600;color:var(--lx-ink);margin:20px 0 8px}
.lead{color:var(--lx-muted);margin:0 0 14px}
.pc-kv{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:13.5px}
.pc-kv dt{color:var(--lx-muted)}.pc-kv dd{margin:0;color:var(--lx-ink)}

/* 배지 4종 (가족 사이트 .bd 그대로) + 새 배지 2종 */
.bd{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:700;padding:0 9px;border-radius:var(--r-pill);line-height:22px;white-space:nowrap;vertical-align:middle}
.bd.in{border:1px solid var(--bd-in-bd);background:var(--bd-in-bg);color:var(--bd-in-ink)}
.bd.ass{border:1px dashed var(--bd-ass-bd);background:var(--bd-ass-bg);color:var(--bd-ass-ink)}
.bd.rule{border:1px solid var(--sem-rule-bd);background:var(--sem-rule-bg);color:var(--sem-rule-ink)}
.bd.unk{border:1px dashed var(--bd-unk-bd);background:var(--bd-unk-bg);color:var(--bd-unk-ink)}
.bd.doc{border:1px dashed var(--sem-doc);background:var(--pg,#fff);color:var(--sem-doc)}      /* 새: 서류에서 읽음·미확인 */
.bd.ok{border:1px solid var(--bd-ok-bd);background:var(--bd-ok-bg);color:var(--bd-ok-ink)}      /* 새: 사용자가 확인함 */
.bd.carry{border:1px dashed var(--bd-ass-bd);background:var(--bd-carry-bg);color:var(--bd-ass-ink)}    /* 새: 이월 가정 */

/* 입력 카드 (가족 사이트 .inc-card 계열) */
.card{border:1px solid var(--lx-line);border-radius:var(--r-card);padding:14px 16px;margin:0 0 12px;background:var(--pg,#fff)}
.card h3{font-size:15.5px;margin:0 0 6px;color:var(--lx-ink)}
.card .sub{font-size:13px;color:var(--lx-muted);margin:0 0 8px}
.q{margin:10px 0 0}
.q label,.q legend{font-weight:600;color:var(--lx-ink);font-size:14.5px}
fieldset{border:0;padding:0;margin:0}
.opts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0}
.opt span{display:inline-flex;align-items:center;min-height:var(--tap);padding:6px 14px;border:1px solid var(--fb,var(--lx-line));border-radius:var(--r-btn);background:var(--pg,#fff);cursor:pointer}
.opt input:checked+span{border-color:var(--lx-accent);background:var(--lx-soft);color:var(--lx-accent);font-weight:700}
.opt input:focus-visible+span{outline:2px solid var(--lx-accent);outline-offset:2px}
.opt.unk input:checked+span{border-style:dashed;border-color:#7d8696;background:var(--pg,#fff);color:#4a5263}
input[type=text],input[type=number],select{font:inherit;min-height:var(--tap);border:1px solid var(--fb,var(--lx-line));border-radius:var(--r-btn);padding:8px 12px;width:100%;max-width:320px;background:var(--pg,#fff);color:var(--lx-ink)}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.state3{font-size:12.5px;color:var(--lx-muted);margin-top:4px}

/* 버튼 */
.btn{font:inherit;font-weight:700;font-size:15px;min-height:var(--tap);padding:10px 20px;border-radius:var(--r-btn);border:1px solid var(--lx-accent);background:var(--lx-accent);color:#fff;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.btn.s{background:var(--pg,#fff);color:var(--lx-accent)}
.btn.g{background:var(--pg,#fff);color:var(--lx-text);border-color:var(--lx-line)}
.btn:disabled{opacity:.45;cursor:default}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
@media(max-width:520px){.acts .btn{flex:1 1 100%}}

/* 알림 상자 */
.note{border-radius:10px;padding:10px 14px;margin:10px 0;font-size:14px}
.note.warn{background:var(--lx-warn-soft);color:var(--lx-warn);border:1px solid #ecd49a}
.note.info{background:var(--lx-soft);color:var(--lx-accent-ink);border:1px solid var(--lx-aline)}
.note.stop{background:var(--lx-loss-soft);color:var(--lx-loss);border:1px solid #e8b9b9}
.note b{color:inherit}

/* 표 (결과 표·고지표·[새] 읽은 값 확인표) */
.tbl-w{overflow-x:auto;margin:8px 0}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:520px}
th,td{border-bottom:1px solid var(--lx-line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:#f7f8fb;color:var(--lx-ink);font-weight:600;font-size:13px}
td.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
tr.conf td{background:#fbfdfb}
tr.flag td{background:#fffaf0}
.cellbtn{font:inherit;font-size:13px;min-height:36px;padding:4px 10px;border-radius:8px;border:1px solid var(--lx-line);background:var(--pg,#fff);cursor:pointer}
.cellbtn.ok{border-color:#8cc7a0;color:#1d5a32}

/* 데이터 흐름 고지표 칸 */
.flow{display:grid;grid-template-columns:1fr;gap:6px}
@media(min-width:720px){.flow{grid-template-columns:repeat(5,1fr)}}
.flow div{border:1px solid var(--lx-line);border-radius:10px;padding:8px 10px;font-size:13px}
.flow b{display:block;color:var(--lx-ink);font-size:13.5px}
.tbd{color:var(--lx-warn);font-weight:700}

/* [새 패턴] 점검 카드 */
.sum3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 14px}
.sum3 div{border:1px solid var(--lx-line);border-radius:var(--r-card);padding:10px 12px;text-align:center}
.sum3 b{display:block;font-size:26px;color:var(--lx-ink);font-variant-numeric:tabular-nums;line-height:1.2}
.sum3 span{font-size:13px;color:var(--lx-muted)}
.filt{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.ck{border:1px solid var(--lx-line);border-left:5px solid var(--lx-accent);border-radius:var(--r-card);padding:12px 14px;margin:0 0 12px}
.ck.t-duty{border-left-color:var(--lx-accent-ink)}   /* 가족 --ret-accent-ink. 유형 구분은 라벨 글자가 기본, 색은 보조(검수 답 1) */
.ck.t-elig{border-left-color:var(--lx-link)}   /* 가족 --m4 */
.ck.t-amt{border-left-color:var(--lx-accent);border-left-style:double;border-left-width:6px}   /* 가족 --m5, 이중선 */
.ck.t-stop{border-left-color:#7d8696;border-left-style:dashed}
.ck .hd{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:4px}
.ck .ty{font-size:12px;font-weight:700;color:var(--lx-muted);letter-spacing:.02em}
.ck h3{font-size:16px;margin:0;color:var(--lx-ink);flex:1 1 100%}
.ck .rng{font-size:18px;font-weight:700;color:var(--lx-ink);margin:6px 0 2px;font-variant-numeric:tabular-nums}
.ck .rng small{font-size:13px;font-weight:400;color:var(--lx-muted)}
.ck ul{margin:6px 0 0;padding-left:18px;font-size:14px}
.ck .more{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
details.ex{margin-top:8px}details.ex summary{cursor:pointer;color:var(--lx-link);font-weight:700;min-height:36px;display:flex;align-items:center}

/* 근거 보기 (가족 사이트 .dv 계열) */
.dv-step{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--lx-line)}
.dv-n{width:24px;height:24px;border-radius:50%;background:var(--lx-soft);color:var(--lx-accent);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.dv-expr{font-family:ui-monospace,Consolas,monospace;font-size:13.5px;background:#f7f8fb;border-radius:8px;padding:6px 10px;margin:4px 0;overflow-x:auto}
.ai{border:1px solid var(--lx-aline);border-radius:var(--r-card);padding:12px 14px;background:var(--tint-a);margin-top:12px}
.ai .lim{font-size:13px;color:var(--lx-muted);border-top:1px dashed var(--lx-line);margin-top:8px;padding-top:6px}

/* 면책 푸터 (가족 사이트 .lx-legal) */
.lx-legal{border-top:1px solid var(--ft-line);padding:16px;font-size:12.5px;color:var(--ft-muted);background:var(--ft-bg)}
.lx-legal p{margin:0 0 6px;max-width:860px}
.lx-legal b{color:var(--ft-ink)}.lx-legal .linkbtn,.lx-legal a{color:var(--ft-link)}.lx-legal .tbd{color:var(--ft-tbd)}

/* 대화상자 */
dialog{border:1px solid var(--lx-line);border-radius:14px;max-width:520px;width:calc(100% - 32px);padding:18px}
dialog::backdrop{background:rgba(18,22,31,.4)}
.proto{font-size:12px;color:var(--lx-warn);background:var(--lx-warn-soft);padding:2px 8px;border-radius:6px;display:inline-block}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.lx-top,.lx-steps,.st-bar,.lx-side,.acts{display:none}}

/* ── 화면 7 보완(10/21): 글꼴·헤더·레이아웃·변형·새 상태 ── */
@font-face{font-family:"Pretendard";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/pretendard-400-758e9540.woff") format("woff")}
@font-face{font-family:"Pretendard";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/pretendard-700-98692565.woff") format("woff")}
body{overflow-wrap:anywhere}
.lx-wrap{display:flex;flex-direction:column}
.lx-main{width:100%;min-width:0}
.lx-side{border-bottom:0;border-top:1px solid var(--lx-line)}
@media(min-width:960px){
  .lx-wrap{display:grid;grid-template-columns:280px minmax(0,1fr)}
  .lx-side{order:-1;border-top:0;border-right:1px solid var(--lx-line)}
}
.legend{margin:0;line-height:2.1}
.lx-steps button.skip-s{text-decoration:line-through;opacity:.7}
.opt.need span{border-color:var(--lx-loss);box-shadow:0 0 0 2px var(--lx-loss-soft)}
.kvt th[scope=row]{background:var(--pg,#fff);font-weight:600;font-size:14px;white-space:nowrap;color:var(--lx-ink)}
table th[scope=row]{font-weight:600;color:var(--lx-ink);background:var(--pg,#fff);font-size:14px}

/* 검토용 변형: body[data-*] 값에 맞는 칸만 보임 */
body[data-vin="A"] .v-vin-B, body[data-vin="B"] .v-vin-A,
body[data-vexp="A"] .v-vexp-B, body[data-vexp="B"] .v-vexp-A,
body[data-vst="A"] .v-vst-B, body[data-vst="B"] .v-vst-A,
body:not([data-vfile="A"]) .v-vfile-A, body:not([data-vfile="B"]) .v-vfile-B, body:not([data-vfile="C"]) .v-vfile-C{display:none!important}
.vpanel{margin-top:14px;border:1px dashed #b88a1e;background:#fffdf6;border-radius:10px;padding:8px 10px}
.vpanel summary{cursor:pointer;font-weight:700;color:var(--lx-warn);min-height:36px;display:flex;align-items:center}
.vpanel fieldset{margin:8px 0 0}.vpanel legend{font-size:12.5px;font-weight:700;color:var(--lx-ink)}
.vpanel .opt span{min-height:36px;font-size:13px;padding:4px 10px}
.vpanel .opt{display:inline-block;margin:4px 4px 0 0}

/* 서류 처리 단계 */
.proc{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:6px 0}
.proc li{border:1px solid var(--lx-line);border-radius:999px;padding:4px 12px;font-size:13.5px;color:var(--lx-muted);background:var(--pg,#fff)}
.proc li.on{border-color:var(--lx-accent);color:var(--lx-accent);font-weight:700;background:var(--lx-soft)}
.proc li.done{color:#1d5a32;border-color:#8cc7a0}.proc li.done::after{content:" ✓"}
.origbox{border:1px dashed var(--lx-aline);border-radius:10px;padding:24px 14px;color:var(--lx-muted);font-size:13.5px;text-align:center;margin:6px 0;background:var(--tint-a)}
.whose{margin-top:10px}

/* 점검 카드 상태 알약·격자 */
.ck .stt{font-size:12.5px;font-weight:700;border-radius:999px;padding:0 10px;line-height:22px}
.stt.s-N{background:var(--lx-soft);color:var(--lx-accent-ink);border:1px solid var(--lx-aline)}
.stt.s-M{background:var(--lx-warn-soft);color:var(--lx-warn);border:1px solid #ecd49a}
.stt.s-K{background:var(--pg,#fff);color:#4a5263;border:1px dashed #7d8696}
.ck .bds{display:flex;flex-wrap:wrap;gap:4px}
.ck .why-t{margin:6px 0}
.ck.t-stop .ty{color:#4a5263}
@media(min-width:1180px){.ckgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ckgrid .ck{margin:0}}

/* 근거 보기 탭 */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--lx-line);margin:4px 0 12px;overflow-x:auto}
.tabs button{font:inherit;font-size:14px;border:0;background:none;padding:8px 12px;min-height:40px;color:var(--lx-muted);cursor:pointer;border-bottom:3px solid transparent}
.tabs button[aria-selected=true]{color:var(--lx-accent);font-weight:700;border-bottom-color:var(--lx-accent)}

/* 보고서 첫 쪽 미리보기 */
.rep{border-style:solid;box-shadow:0 1px 0 var(--lx-line)}
.rep-h{font-weight:700;color:var(--lx-ink);margin:0 0 4px}.rep-h small{display:block;font-weight:400;color:var(--lx-muted);font-size:13px}
#dlgw ul{margin:4px 0 8px;padding-left:18px;font-size:14px}#dlgw h3{font-size:14.5px;margin:10px 0 2px}
#dlgw{max-height:80vh;overflow:auto}
/* 가족 전문가 화면 계산값에 맞춤(10/21 대조: 본문 16px·사이드 14px·배지 13.5px·면책 13px 투명 배경) */
body{font-size:16px}.lx-side{font-size:14px}.bd{font-size:13.5px}.lx-legal{font-size:13px;background:var(--ft-bg)}
/* 단계 탭을 가족 전문가 화면 탭 알약(⓪ 입력하기…)과 같은 모양으로 */
/* 카드 유형 = 라벨 글자가 기본(색 없이도 구별) */
.ck .ty{font-size:12.5px;color:var(--lx-ink);border:1px solid var(--lx-line);border-radius:6px;padding:0 8px;background:#f7f8fb}
.whose .bd{margin-left:6px}
/* 검수 1 반영(10/22): 미답(아직) 배지, 카드 규칙값 본문 크기 */
.bd.pend{border:1px dotted #7d8696;background:var(--pg,#fff);color:#4a5263}
.plain-v{margin:6px 0;font-size:15px;color:var(--lx-ink)}
.ck .rng small{display:block;margin-top:2px}
.ck fieldset.q{margin:6px 0 8px}
html{scroll-padding-top:96px}  /* 고정 미완료 바에 가려지지 않게 */

/* ═══ 재설계 1(10/22): 큰 단계 4개·한 화면 한 결정·결과 목록 → 카드 한 장 ═══ */
.bd.pend{border:1px solid #aeb6c6;background:var(--pg,#fff);color:#4a5263}          /* … 아직 = 회색 실선 */
.lx-main{margin:0 auto;max-width:760px;width:100%;padding:16px 16px 32px}
.prog{margin-left:auto;align-self:center;font-size:13px;color:var(--lx-muted);font-weight:700}
.st-bar{gap:4px 16px}.st-bar .cnt{font-size:14px}.st-bar .why{margin-left:auto}
.lead.sm{font-size:15px;margin:0 0 12px}.center{text-align:center}
.sub{margin-left:12px}
fieldset.q{margin:14px 0 0}fieldset.q legend{padding:0}
.grp{border-left:3px solid var(--lx-aline);padding-left:12px;margin:12px 0}
.h2s{font-size:15.5px;margin:18px 0 6px}
.svc{font-size:13px;color:var(--lx-muted);margin:0}
.acts.sticky{position:sticky;bottom:0;background:var(--pg,#fff);border-top:1px solid var(--lx-line);padding:10px 0 calc(10px + env(safe-area-inset-bottom));margin-top:20px;z-index:12}
.acts.sticky .btn{flex:1 1 0;padding:10px 8px}
.acts.sticky .btn.g{flex:0 1 96px}
.btn.linkish{background:none;border:0;color:var(--lx-link);text-decoration:underline;min-height:36px;padding:4px 8px;font-weight:600}
.linkbtn{font:inherit;background:none;border:0;padding:0;color:var(--lx-link);text-decoration:underline;cursor:pointer;min-height:32px}
.flinks .linkbtn{min-height:28px}
.crumb{margin:0 0 4px}
.way h3{margin:0 0 4px}.way .btn{margin-top:4px}
/* 결과 목록 */
.llist{list-style:none;margin:10px 0;padding:0;border:1px solid var(--lx-line);border-radius:var(--r-card);overflow:hidden}
.llist li+li{border-top:1px solid var(--lx-line)}
.lrow{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;gap:4px 10px;align-items:center;text-align:left;font:inherit;background:var(--pg,#fff);border:0;padding:12px 14px;min-height:64px;cursor:pointer;color:inherit}
.lrow:hover{background:#f7f8fb}
.lrow .ty{font-size:12px;font-weight:700;color:var(--lx-ink);border:1px solid var(--lx-line);border-radius:6px;padding:0 8px;background:#f7f8fb;white-space:nowrap}
.lrow .lt b{display:block;color:var(--lx-ink);font-size:15px}.lrow .lt small{display:block;color:var(--lx-muted);font-size:13px;line-height:1.45;margin-top:2px}
.lrow .chev{font-size:22px;color:var(--lx-muted)}
@media(max-width:520px){.lrow{grid-template-columns:1fr auto;grid-template-areas:"ty ty" "lt chev" "st st"}.lrow .ty{grid-area:ty;justify-self:start}.lrow .lt{grid-area:lt}.lrow .chev{grid-area:chev}.lrow .stt{grid-area:st;justify-self:start}}
.stt{font-size:12.5px;font-weight:700;border-radius:999px;padding:0 10px;line-height:22px;white-space:nowrap;display:inline-block}
.stt.s-N{background:var(--lx-soft);color:var(--lx-accent-ink);border:1px solid var(--lx-aline)}
.stt.s-M{background:var(--lx-warn-soft);color:var(--lx-warn);border:1px solid #ecd49a}
.stt.s-K{background:var(--pg,#fff);color:#4a5263;border:1px dashed #7d8696}
.stt.s-D{background:var(--bd-ok-bg);color:var(--bd-ok-ink);border:1px solid var(--bd-ok-bd)}
.stt.s-X{background:#f4f6f9;color:#4a5263;border:1px solid #d9dde7}
/* 카드 한 장 */
.hd{display:flex;gap:8px;align-items:center;margin-bottom:2px}
.hd .ty{font-size:12.5px;font-weight:700;color:var(--lx-ink);border:1px solid var(--lx-line);border-radius:6px;padding:0 8px;background:#f7f8fb}
.concl{font-size:16px;font-weight:700;color:var(--lx-ink);margin:4px 0 10px}
.amt{border:1px solid var(--lx-aline);background:var(--lx-soft);border-radius:var(--r-card);padding:10px 14px;font-size:15px;margin:6px 0}
.amt small{display:block;color:var(--lx-muted);font-size:13px;margin-top:4px}
ul.why{list-style:none;margin:0;padding:0}ul.why li{padding:6px 0;border-bottom:1px dashed var(--lx-line);font-size:14.5px}
.card.sm{padding:10px 14px}.card.sm h3{font-size:14.5px}.gtl{margin:8px 0 2px}
.err{color:var(--lx-loss)}
.wl{padding-left:18px}.wl li{margin:4px 0}.wl small{color:var(--lx-muted)}
dialog h2{margin-top:0}
.tabs button{min-height:44px}
/* 검토 모드 */
.rvpanel{position:fixed;right:10px;bottom:10px;z-index:40;background:#fffdf6;border:1px dashed #b88a1e;border-radius:10px;padding:8px 10px;font-size:12.5px;max-width:230px;display:grid;gap:4px;max-height:60vh;overflow:auto}
.rvpanel label{display:grid;gap:1px}.rvpanel select{min-height:30px;max-width:none;font-size:12.5px;padding:2px 6px}
.rvband{border:1px dashed #b88a1e;background:#fffdf6;color:var(--lx-warn);border-radius:8px;padding:2px 10px;font-size:12.5px;margin:6px 0}
.rvdot{border:1px dashed var(--lx-aline);padding:4px 8px;border-radius:8px}
@media(max-width:520px){.rvpanel{max-width:160px;bottom:70px}}
@media print{.lx-steps,.rvpanel,.acts{display:none}}
h1:focus{outline:none}
.rvpanel[hidden],.st-bar[hidden]{display:none}
details.ex summary{font-size:15px}
/* 표는 좁은 화면에서 가로 스크롤 대신 줄을 쌓는다(버튼이 화면 밖으로 밀리지 않게) */
table{min-width:0}
@media(max-width:560px){
  table.ta thead{display:none}
  table.ta,table.ta tbody{display:block}
  table.ta tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"k v" "i v" "s b";gap:2px 10px;padding:10px 2px;border-bottom:1px solid var(--lx-line);align-items:center}
  table.ta td{border:0;padding:0;background:none}
  table.ta td:nth-child(1){grid-area:k;font-size:12.5px;color:var(--lx-muted)}
  table.ta td:nth-child(2){grid-area:i;font-weight:600;color:var(--lx-ink)}
  table.ta td:nth-child(3){grid-area:v;text-align:right;font-weight:700;color:var(--lx-ink)}
  table.ta td:nth-child(4){grid-area:s;margin-top:4px}
  table.ta td:nth-child(5){grid-area:b;text-align:right;margin-top:4px}
  table.ta tr.conf{background:#fbfdfb}
}

/* ═══ 재설계 1b(10/22): 이용 안내·출처 꼬리표·이어서 하기·담기/빼기·실패 4택 ═══ */
.guide{font-size:14px;margin-left:4px}
.srcl{color:var(--lx-muted);font-size:12.5px;font-weight:400}
.svd{margin-left:auto;font-size:12px;color:var(--lx-muted);flex:1 1 100%;text-align:right}
.st-bar .why{margin-left:0}
@media(min-width:700px){.svd{flex:0 1 auto}.st-bar .why{margin-left:auto}.svd{margin-left:12px}}
.card.saved{border-color:var(--lx-aline);background:var(--lx-soft)}
.acts.four .btn{flex:1 1 calc(50% - 8px)}
@media(max-width:520px){.acts.four .btn{flex:1 1 100%}}
.pick{margin:14px 0 4px}.pick .btn{width:100%}
ol.expl{padding-left:20px;margin:8px 0 0}ol.expl li{margin:6px 0}ol.expl li.lim{color:var(--lx-muted);border-top:1px dashed var(--lx-line);padding-top:6px}
.presave ol{margin:6px 0 0;padding-left:20px}
table.mine td{vertical-align:top}
.lead.sm.r1head{font-size:16px}
@media(max-width:560px){
  #sumtb thead{display:none}#sumtb,#sumtb tbody{display:block}
  #sumtb tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"k b" "c c" "s s";gap:2px 10px;padding:10px 2px;border-bottom:1px solid var(--lx-line)}
  #sumtb th,#sumtb td{border:0;padding:0;background:none}
  #sumtb th{grid-area:k;font-weight:700}#sumtb td:nth-child(2){grid-area:c}#sumtb td:nth-child(3){grid-area:s;font-size:12.5px;color:var(--lx-muted)}#sumtb td:nth-child(4){grid-area:b;text-align:right}
}
.srcl,.lrow .lt small.srcl,.amt small.srcl{display:inline!important;margin:0;font-size:12.5px}

/* ═══ 재설계 1c(10/22): 환급 범위 요약 · 주(State) 줄 ═══ */
.bd.rc{border:1px dashed var(--bd-ass-bd);background:#fffdf6;color:var(--bd-ass-ink)}   /* 규칙 확인 전 · 근사(규칙 확인 전) */
.rsum{border:1px solid var(--lx-aline);border-radius:var(--r-card);padding:12px 14px;margin:10px 0 14px;background:var(--tint-a)}
.rsum h2{margin:0 0 8px;font-size:16px}.rsum h2 small{font-size:12.5px;font-weight:400;color:var(--lx-muted);display:block}
.rrow{display:grid;grid-template-columns:96px 1fr;gap:6px 10px;padding:8px 0;border-top:1px dashed var(--lx-line);align-items:start}
.rrow:first-of-type{border-top:0}
.rrow .rl{font-weight:700;color:var(--lx-ink);font-size:14px}
.rrow.tot{background:var(--tint-b);margin:0 -6px;padding:8px 6px}
.rbase{display:block;font-size:13.5px;color:var(--lx-text)}
.rng2{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}.rng2 i{font-style:normal;color:var(--lx-muted)}
.rend{font-size:17px;font-weight:700;color:var(--lx-ink);font-variant-numeric:tabular-nums}      /* 하한·상한 같은 크기, 가운데 값 없음 */
.rend.open{font-size:17px;border-bottom:2px dotted #7d8696;font-weight:600;color:#4a5263}
.rdelta,.rnote{display:block;font-size:12.5px;color:var(--lx-muted);margin-top:2px}
.rem{color:var(--lx-muted)}.dir{font-weight:800;color:var(--lx-pop)}
.exh{font-size:14.5px;margin:12px 0 4px}.excl{margin:4px 0;padding-left:18px;font-size:14px}.excl li{margin:4px 0}.excl small{color:var(--lx-muted)}
.legend2{font-size:12.5px;color:var(--lx-muted);margin:4px 0}
@media(max-width:520px){.rrow{grid-template-columns:1fr}.rrow .rl{font-size:13px;color:var(--lx-muted)}}

/* ═══ 재설계 1d(10/22): r1 모바일 압축·나라별 줄 ═══ */
.rfoot{margin:6px 0 0;font-size:13px;color:var(--lx-text)}
details.excl-d{margin-top:6px}details.excl-d summary{font-size:14px}
.rrow .rl{white-space:normal}
@media(max-width:520px){
  .role{font-size:12px;line-height:1.45}
  .st-bar{padding:6px 12px}.st-bar .svd{font-size:11px;flex:1 1 100%}
  h1{font-size:21px;margin:8px 0 6px}
  .lx-main{padding-top:6px}
  .rsum{padding:8px 10px;margin:6px 0 10px}
  .rsum h2{font-size:15px;margin-bottom:4px}.rsum h2 small{display:none}
  .rrow{grid-template-columns:78px 1fr;gap:2px 8px;padding:5px 0}
  .rrow .rl{font-size:12.5px;color:var(--lx-muted)}
  .rend,.rend.open{font-size:16px}
  .rbase{font-size:12px}
  .rdelta,.rnote{font-size:12px}
}
/* 1e(10/22) */
.rnow{margin:0 0 6px;font-size:14px;color:var(--lx-ink)}
.llist .lgh{padding:6px 14px;background:#f4f6f9;font-size:12.5px;font-weight:700;color:var(--lx-muted);border-top:1px solid var(--lx-line)}
.llist .lgh:first-child{border-top:0}
@media(max-width:520px){.rnow{font-size:13px;margin:0 0 4px}}

/* 머리 안의 링크·단추(와인 바탕 위) */
.lx-top .linkbtn,.lx-top .guide{color:var(--hd-link)}

/* ═══ 왼쪽 사이드 복구(10/22): 960px 이상 왼쪽 열 280px · 14px · 모바일은 본문 뒤 ═══ */
.lx-side[hidden]{display:none}
.lx-side h2{font-size:15px;margin:0 0 6px;color:var(--lx-ink)}
.lx-side h3{font-size:12.5px;color:var(--lx-muted);margin:14px 0 6px;font-weight:700;letter-spacing:.02em}
.lx-side .pc-kv{font-size:14px;gap:4px 10px}
.lx-side .pn{color:var(--lx-muted)}
.sdc{margin:0 0 4px;font-size:14px}.sdc b{color:var(--lx-ink)}
.sdl{margin:2px 0 4px;padding-left:18px;font-size:13px;color:var(--lx-text)}.sdl .mr{list-style:none;margin-left:-18px;color:var(--lx-muted)}
.sdb{margin:4px 0}
.sdbd{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sdbd li{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.45}
.sdbd li .bd{flex:none;font-size:12.5px}.sdbd li span{color:var(--lx-text);padding-top:2px}
@media(min-width:960px){
  .lx-wrap{max-width:none;margin:0;align-items:start}
  .lx-wrap .lx-main{margin:0;max-width:820px;padding:18px 32px 40px}
  .lx-side{position:sticky;top:62px;align-self:start;max-height:calc(100vh - 62px);overflow:auto;padding:14px 16px 24px;min-height:0;border-right:1px solid var(--lx-line)}
}


/* ═══ 가족 사이트 헤더 — lab.css(.lx-top~.lx-lang)·pc.css(body.mx) 값 그대로 이식(2026-10-22 재작업). 색은 --lx-* 만 쓴다(머리 전용 --hd-* 폐기). ═══ */
.lx-top{--lx-ink:#12161f;--lx-muted:#5b6475;--lx-line:#d9dde7;font-family:Pretendard,"Noto Sans KR",sans-serif;position:sticky;top:0;z-index:20;display:flex;align-items:center;padding:8px 14px 0 0;height:46px;background:var(--hh-bg,#fff);border-bottom:var(--hh-lw,.8px) solid var(--hh-line,var(--lx-line));color:var(--hh-ink,var(--lx-ink));font-weight:700}
.lx-brand{flex:0 1 256px;min-width:140px;max-width:256px;align-self:stretch;margin-top:-8px;display:flex;align-items:center;justify-content:center;gap:9px;padding:0 14px;color:var(--hh-ink,var(--lx-ink));text-decoration:none;font-size:14.5px;font-weight:800;white-space:nowrap;overflow:hidden}
.lx-brand svg,.lx-brand img.brand-logo{width:26px;height:26px;flex:none;display:block}
.lx-brand:hover .lx-brand-name{color:var(--hh-pop,var(--lx-accent))}
.lx-brand-name{overflow:hidden;text-overflow:ellipsis}
.lx-apps{display:flex;gap:2px;flex:1;overflow-x:auto;align-self:stretch;align-items:flex-start;scrollbar-width:none}
.lx-app{display:flex;align-items:center;gap:6px;padding:7px 7px 9px;border:0;border-bottom:2.4px solid transparent;background:none;font-family:inherit;cursor:pointer;color:var(--hh-muted,var(--lx-muted));text-decoration:none;white-space:nowrap;font-size:16px;font-weight:700}
.lx-app:hover{background:var(--hh-hover,#f2f5f5)}
.lx-app .ico{display:inline-flex;width:16px;height:16px;color:var(--hh-muted,var(--lx-muted))}.lx-app .ico svg{width:16px;height:16px}
.lx-app .nm{font-size:13.7px;font-weight:700;color:var(--hh-ink,var(--lx-ink))}
.lx-app[aria-selected="true"]{border-bottom-color:var(--hh-sel-bd,var(--lx-accent));background:var(--hh-sel,var(--lx-soft))}
.lx-app[aria-selected="true"] .nm,.lx-app[aria-selected="true"] .ico{color:var(--hh-sel-ink,var(--lx-accent))}
.lx-app .dot{width:8px;height:8px;border-radius:50%;background:var(--hh-dot,#c9d0dc);flex:none}.lx-app .dot.on{background:var(--hh-dot-on,#2f9e44)}
.lx-books-btn{display:flex;align-items:center;gap:6px;flex:none;border:.8px solid var(--hh-bd,var(--lx-line));background:var(--hh-btn,#fff);color:var(--hh-ink,var(--lx-ink));border-radius:7px;padding:4px 10px;margin:0 0 8px;cursor:pointer;font:inherit;font-size:13px;font-weight:700;white-space:nowrap}
.lx-books-btn:hover{border-color:var(--hh-pop,var(--lx-accent));color:var(--hh-pop,var(--lx-accent))}
.lx-lang{display:flex;align-items:center;gap:6px;padding:0 4px 8px 10px;flex:none}
.lx-lang button{border:.8px solid var(--hh-bd,var(--lx-line));background:var(--hh-btn,#fff);color:var(--hh-muted,var(--lx-muted));border-radius:6px;padding:3px 9px;cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.lx-lang button[aria-pressed="true"]{background:var(--hh-on,var(--lx-accent));border-color:var(--hh-on,var(--lx-accent));color:var(--hh-on-ink,#fff)}
.lx-lang a{border:.8px solid var(--hh-bd,var(--lx-line));background:var(--hh-btn,#fff);color:var(--hh-muted,var(--lx-muted));border-radius:6px;padding:3px 9px;font-size:13px;font-weight:700;text-decoration:none}
.lx-lang a:hover{border-color:var(--hh-pop,var(--lx-accent));color:var(--hh-pop,var(--lx-accent))}
@media(max-width:760px){
  .lx-top{flex-wrap:wrap;height:auto;padding:6px 0 0 0;position:static;row-gap:4px;font-size:14px;line-height:1.6}
  .lx-brand{flex:1 1 auto;max-width:none;justify-content:flex-start;margin-top:0;padding:2px 12px 6px}
  .lx-books-btn{order:2;padding:3px 9px;font-size:13px;margin:0 4px 6px 0}   /* 모바일에서도 책 버튼을 보인다(첫 화면은 아래 규칙으로 계속 숨김) */
  .lx-lang{order:3;padding:0 10px 6px 0}
  .lx-apps{order:3;width:100%;flex:1 0 100%;border-top:.8px solid var(--hh-line2,var(--lx-line));padding:0 6px;gap:4px}
  .lx-app{flex:none;font-size:13px;padding:4px 8px}.lx-app .nm{font-size:13.7px}
  .lx-apps .ico,.lx-apps .dot{display:none}
}
@media(max-width:480px){.lx-brand{padding:2px 10px 6px;gap:7px}}
/* 고지 = 본문 상단 박스(가족 .fixed 와 같은 모양) */
.fixed{background:var(--lx-soft);border-left:3px solid var(--lx-accent);border-radius:0 8px 8px 0;padding:8px 12px;font-size:14px;margin:4px 0 16px;color:#384152}.fixed p{margin:0}.fixed b{color:var(--lx-ink)}
@media(max-width:700px){.fixed{font-size:12.5px;padding:6px 10px;margin:2px 0 10px}}
.sub1{margin:0 0 6px;font-size:14px;color:var(--lx-muted);font-weight:400}

/* ── 본연 올리브 기본(2026-10-22 사용자 정정, 헤더는 흰 바탕 확정): 푸터·버튼·활성 탭·선에만 올리브, 면은 눈부심 없는 중립 오프화이트·베이지. 밝은 머리 ① 판은 ?theme=oliveLight ── */
:root[data-theme="olive"]{
  --pg:#F8F7F3; --lx-soft:#EFEDE6; --lx-side:#F2F0EA; --tint-a:#F6F4EF; --tint-b:#F1EFE9; --lx-line:#DAD7CB;
  --bd-in-bg:#F1EFE9; --bd-in-bd:#B3B29A; --bd-carry-bg:#FBF3DC;
  --ft-bg:#3B4219; --ft-muted:#C9CDA6; --ft-line:#55602A; --ft-link:#F2A78F;
  --hh-sel:#E6EAC6; --hh-sel-ink:#3B4219; --hh-sel-bd:#3B4219;
}
dialog{background:var(--pg,#fff);color:var(--lx-text)}

/* ═══ 알약 단계 줄 — 가족 pc.css `.lx-steps`(+body.mx) 값 그대로. 최상단 메뉴는 서비스 영역 하나, 이 줄이 흐름 단계 ═══ */
.lx-steps{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 4px;margin:0 0 8px}
.lx-steps button{display:inline-block;background:var(--pg,#fff);border:.8px solid var(--lx-line);border-radius:8px;padding:6px 14px;font:inherit;font-size:15.2px;line-height:1.6;color:var(--lx-text);cursor:pointer}
.lx-steps button:hover{border-color:var(--lx-aline)}
.lx-steps button[aria-current]{background:var(--lx-soft);border-color:var(--lx-aline);color:var(--lx-accent)}
.lx-main>.lx-steps{margin-top:12px}
.lx-steps .sepv{align-self:stretch;width:1px;background:var(--lx-line);margin:2px 4px}
.lx-steps .prog{margin-left:auto}
.lx-main>.st-bar{border:1px solid var(--lx-line);border-radius:8px;margin:0 0 12px}
@media(max-width:760px){
  .lx-steps{flex-wrap:nowrap;overflow-x:auto;position:sticky;top:0;z-index:5;background:var(--pg,#fff);padding:8px 0 6px;margin:0 0 6px;scrollbar-width:none}
  .lx-steps::-webkit-scrollbar{display:none}
  .lx-steps button{flex:none;font-size:14px;padding:6px 12px}
  .lx-steps .prog{display:none}
  .lx-main>.lx-steps{margin-top:0}
  .st-bar{top:50px}
}

.rsum.stale .rrow,.rsum.stale .rnow,.rsum.stale .rfoot{opacity:.45}

.card.ok{border-color:var(--lx-aline);background:var(--lx-soft)}

.sumtop .rrow.tot .rend{font-size:1.25em}.uphint{margin:8px 0 4px;padding:8px 12px;border-left:3px solid var(--lx-pop);background:var(--lx-soft);border-radius:0 8px 8px 0;font-size:14px}.rdet{margin:10px 0}.rdet>summary{font-weight:700;padding:8px 0}.rdet .rsum{margin:0 0 8px}

/* ── 색 사양 C 샌드·버건디(사이트색_사양_C.md, 사용자 확정 10/22) — 기본 테마(사용자 결정 10/22). 올리브는 `?theme=olive`·`oliveLight`, 흰 바탕 머리 변형은 `?theme=sandWhite`. 바탕 #F3EBDD·면 #FBF7EF·강조 #7A2E52, 진한 띠는 푸터만. ── */
:root:not([data-theme]),:root[data-theme="sandWine"],:root[data-theme="sandWhite"]{
  --bg:#F3EBDD; --pg:#FBF7EF; --lx-soft:#EADFCB; --lx-side:#EFE5D3; --tint-a:#F7F1E6; --tint-b:#F1E8D8; --lx-line:#D8CBB4; --fb:#8A7A68;
  --lx-accent:#7A2E52; --lx-accent-ink:#4F1B36; --lx-aline:#C9A9B9; --lx-link:#1F5F99; --lx-focus:#7A2E52; --lx-pop:#7A2E52;
  --lx-ink:#2A2118; --lx-text:#2A2118; --lx-muted:#6F6050;
  --lx-warn:#7A4B00; --lx-warn-soft:#FFF1CC; --lx-loss:#9E1C2B; --lx-loss-soft:#FDE8EA;
  --bd-in-bg:#F3EBDD; --bd-in-bd:#8A7A68; --bd-in-ink:#2A2118; --bd-ass-bg:#FFF1CC; --bd-ass-bd:#B88A1E; --bd-ass-ink:#7A4B00;
  --bd-unk-bg:#E9EDF2; --bd-unk-bd:#7B8794; --bd-unk-ink:#44505F; --bd-ok-bg:#E3F4EC; --bd-ok-bd:#0F6B50; --bd-ok-ink:#0F6B50; --bd-carry-bg:#FFF8E1;
  --sem-rule-bg:#e6eefc; --sem-rule-bd:#9fbdf0; --sem-rule-ink:#0f3a9f; --sem-doc:#164ed8;
  --ft-bg:#2A2118; --ft-ink:#F3EBDD; --ft-muted:#B9A98F; --ft-link:#E8B4CB; --ft-line:#4A3C2E; --ft-tbd:#FFD58A;
  --hh-bg:#FBF7EF; --hh-ink:#2A2118; --hh-muted:#6F6050; --hh-line:#7A2E52; --hh-lw:3px; --hh-line2:#D8CBB4; --hh-bd:#8A7A68; --hh-btn:#FBF7EF;
  --hh-sel:#EADFCB; --hh-sel-ink:#7A2E52; --hh-sel-bd:#7A2E52; --hh-hover:rgba(122,46,82,.08); --hh-pop:#7A2E52; --hh-on:#7A2E52; --hh-on-ink:#FFFFFF; --hh-dot:#B9A98F; --hh-dot-on:#2F9E44;
  --r-card:12px; --r-btn:10px; --r-pill:12px; --tap:44px;
}
:root[data-theme="sandWhite"]{ --hh-bg:#FFFFFF; --hh-line:#D8CBB4; --hh-lw:.8px; --hh-btn:#FFFFFF; }

/* 오류·주의는 색만으로 구분하지 않는다(버건디 강조 #7A2E52 ↔ 오류 #9E1C2B 1.1:1) — '!' 아이콘 + 2px 테두리 병기 */
.note.stop,.state3.err{border:2px solid var(--lx-loss);background:var(--lx-loss-soft);color:var(--lx-loss)}
.note.stop::before,.state3.err::before{content:"! ";font-weight:800}

/* AI 크로스체크(참고) 패널 — 가족 사이트 .cc-* 구조, 세금 색 토큰 */
.cc-unit{margin:22px 0 6px}.cc-box{margin:0;border:1px solid var(--lx-line);border-radius:var(--r-card);padding:0 14px;background:var(--pg,#fff)}.cc-box>summary{cursor:pointer;font-weight:700;padding:10px 0}.cc-state{font-weight:400;color:var(--lx-muted)}
.cc-pre{font-size:13px;color:var(--lx-muted);margin:6px 2px 8px}.cc-body{padding-bottom:12px}.cc-st{margin:6px 0;font-size:14px}.cc-badge{display:inline-block;font-weight:700;padding:4px 10px;border-radius:12px;margin:4px 0 8px;background:var(--lx-soft);color:var(--lx-accent);border:1px solid var(--lx-aline)}
.cc-badge.re{background:var(--bd-ass-bg);color:var(--bd-ass-ink);border-color:var(--bd-ass-bd)}.cc-tbl{width:100%;border-collapse:collapse;font-size:13.5px}.cc-tbl th,.cc-tbl td{border-top:1px solid var(--lx-line);padding:6px 8px;text-align:left;vertical-align:top}.cc-wrap{overflow-x:auto}
.cc-v{display:inline-block;font-weight:700;padding:1px 8px;border-radius:10px;white-space:nowrap;border:1px solid transparent}.cc-v.match{background:var(--bd-ok-bg);color:var(--bd-ok-ink);border-color:var(--bd-ok-bd)}.cc-v.recheck{background:var(--bd-ass-bg);color:var(--bd-ass-ink);border-color:var(--bd-ass-bd)}.cc-v.unable{background:var(--bd-unk-bg);color:var(--bd-unk-ink);border-color:var(--bd-unk-bd)}
.cc-disc{margin:10px 0 0;font-size:13px;color:var(--lx-muted)}.cc-btn{margin-right:8px}@media (max-width:520px){.cc-tbl{font-size:12.5px}}@media print{.cc-unit{display:none}}

.cc-list{list-style:none;margin:8px 0;padding:0}.cc-list li{padding:6px 0;border-top:1px solid var(--lx-line);font-size:14px}.cc-list li.chk{background:var(--bd-ass-bg);border-radius:6px;padding:6px 8px;border-top:0;margin:4px 0}

.cc-tbl td.n{text-align:right;white-space:nowrap}.cc-sub{display:block;color:var(--lx-muted);margin-top:2px}

/* 왼쪽 입력 요약이 숨겨진 화면(e0·q-out·예시·규칙·정정·소개)은 본문이 한 열로 — 280px 열에 갇히지 않게 */
@media(min-width:960px){.lx-wrap:has(> #side[hidden]){grid-template-columns:minmax(0,1fr)}.lx-wrap:has(> #side[hidden]) .lx-main{max-width:860px;margin:0 auto;width:100%}}

/* 모바일 헤더: EN·ES·한국어가 두 줄로 꺾이지 않게 — 브랜드+언어가 한 줄, 메뉴 탭은 다음 줄(설계 세션 2 복사본과 같은 규칙) */
@media(max-width:860px){.lx-lang{order:2;padding:0 10px 6px 0}.lx-lang button,.lx-lang a{padding:3px 7px}.lx-brand{min-width:0}}

/* 3대 쟁점 */
.evb{display:inline-block;font-size:12px;font-weight:700;padding:1px 8px;border-radius:999px;border:1px solid var(--lx-line);vertical-align:baseline;white-space:nowrap}
.evb.ok{background:var(--bd-ok-bg,#e5f3ea);color:var(--bd-ok-fg,#14532d);border-color:currentColor}
.evb.ev2{background:var(--bd-rule-bg,#e8f0fb);color:var(--bd-rule-fg,#1e3a8a);border-color:currentColor}
.evb.ass{background:var(--bd-ass-bg);color:var(--bd-ass-fg,#7a4a00);border-color:currentColor}
.evb.in{background:var(--bd-in-bg,#f1ece4);color:var(--lx-text);border-color:currentColor}
.evb.na{background:transparent;color:var(--lx-muted)}
.k3 h3 .ty{font-weight:400;font-size:13px;color:var(--lx-muted);margin-left:6px}
.k3.oos{background:transparent;border-style:dashed}
.k3.stale{opacity:.6}
.b3h{margin:14px 0 4px;font-size:15px}
.b3est,.b3oe,.b3kv{margin:6px 0;padding-left:18px}
.b3est li,.b3oe li,.b3kv li{margin:6px 0}
.b3sum th{text-align:left;font-weight:600}.b3sum td{text-align:right}
.b3err{color:var(--lx-danger,#9b1c1c);font-weight:600;margin:4px 0}
.b3f{align-items:center}.b3u{margin-left:8px;white-space:nowrap}
.eng{display:inline-block}.eng summary{cursor:pointer;font-size:13px;color:var(--lx-link,inherit)}

.aiw{color:var(--lx-danger,#9b1c1c);font-size:12px;font-weight:700}

.b3late{display:block;color:var(--lx-danger,#9b1c1c);font-weight:600;margin-top:2px}

/* v4: 책 링크(앵커), 푸터=상단 메뉴바와 같은 아이보리, 이전/다음 플로팅 해제 */
a.lx-books-btn{text-decoration:none}
.lx-legal{background:var(--hh-bg,var(--pg,#fff));color:var(--lx-muted);border-top:1px solid var(--lx-line)}
.lx-legal b{color:var(--lx-text)}
.lx-legal .linkbtn,.lx-legal a{color:var(--lx-link,var(--lx-accent))}
.acts.sticky{position:static;border-top:0;background:none;padding:0;margin-top:20px;z-index:auto}

/* ═══ 점검하기 세부 단계 탭 7개 (v5; 노란 띠 자리) ═══ */
.lx-sub{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0 0 4px;-webkit-overflow-scrolling:touch}
.lx-sub[hidden]{display:none}
.lx-sub .sub{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:var(--pg,#fff);border:.8px solid var(--lx-line);border-radius:8px;padding:6px 12px;font:inherit;font-size:14.5px;line-height:1.5;color:var(--lx-text);cursor:pointer;white-space:nowrap}
.lx-sub .sub i{font-style:normal;font-size:12.5px;min-width:20px;height:20px;line-height:20px;text-align:center;border-radius:10px;border:.8px solid var(--lx-line);color:var(--lx-muted)}
.lx-sub .sub:hover{border-color:var(--lx-aline)}
.lx-sub .sub.done i{color:#1d7a3a;border-color:#1d7a3a}
.lx-sub .sub.none{opacity:.7}
.lx-sub .sub[aria-current]{background:var(--lx-soft);border-color:var(--lx-aline);color:var(--lx-accent);font-weight:700}
@media print{.lx-sub{display:none}}
body[data-screen=e0] .lx-sub{display:none !important}
@media (max-width:640px){.lx-sub{flex-wrap:nowrap;overflow-x:auto}}

/* AI 안내 패널(패밀리 guide.js 그대로) — 색만 세금 사이트 토큰 */
body{--gd-accent:var(--lx-accent);--gd-accent-soft:var(--lx-soft);--gd-panel-head:var(--pg,#fff)}
:root{--gd-accent:var(--lx-accent);--gd-accent-soft:var(--lx-soft)}
/* guide.js 가 열릴 때 <html> 에 붙이는 gd-open 표시가 같은 이름의 단추 규칙(배경·여백)을 받는 것을 막는다 */
html.gd-open{background:transparent;color:inherit;margin:0;padding-top:0;padding-bottom:0;padding-left:0;border-radius:0;text-align:left;font-weight:inherit;min-height:0}

/* ═══ v5h: 상단 단계 탭(①~⑦)과 점검하기 세부 단계(a~g)를 한 덩어리로 — 세부 단계는 ① 점검하기 탭 색·배경·그림자를 이어 받는 하나의 영역 ═══ */
.lx-steps{margin-bottom:0;padding-bottom:0}
.lx-steps .stg[aria-current]{font-weight:700}
.lx-sub.joined{border-top-left-radius:0}
.lx-steps .stg:first-child[aria-current]{border-bottom-left-radius:0;border-bottom-right-radius:0;position:relative;z-index:1;margin-bottom:-1px}
.lx-sub{background:var(--lx-soft);border:.8px solid var(--lx-aline);border-radius:0 10px 10px 10px;padding:8px 10px;margin:0 0 12px;box-shadow:0 3px 10px rgba(0,0,0,.10)}
.lx-sub .sub{background:var(--pg,#fff)}
.lx-sub .sub[aria-current]{background:var(--lx-accent);border-color:var(--lx-accent);color:#fff}
.lx-sub .sub[aria-current] i{color:#fff;border-color:rgba(255,255,255,.7)}
.lx-sub .sub i{font-weight:700}
.bubble{position:relative;margin:0 0 8px;padding:8px 12px;border-radius:10px;background:var(--lx-warn-soft,#fbf3e3);border:1px solid #e7cf8f;color:var(--lx-warn,#7a5a10);font-size:14px;font-weight:700;display:inline-block}
.bubble::after{content:"";position:absolute;left:18px;bottom:-7px;width:12px;height:12px;background:inherit;border-right:1px solid #e7cf8f;border-bottom:1px solid #e7cf8f;transform:rotate(45deg)}
body[data-screen=e0] .lx-books-btn{display:none !important}

/* ═══ v5j: AI 입력 도우미 화면 정리 + 목록 링크 버튼화 ═══ */
.aicons{margin:6px 0 14px}
.aifield{margin:0 0 16px}
.aif-l{display:block;font-weight:700;font-size:16.5px;margin:0 0 6px;color:var(--lx-text)}
.aif-l small{font-weight:400;font-size:13.5px;color:var(--lx-muted)}
.aitx{display:block;width:100%;max-width:680px;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.6;color:var(--lx-text);background:var(--pg,#fff);border:1px solid var(--lx-line);border-radius:10px;padding:12px 14px;resize:vertical;min-height:150px}
.aitx:focus{outline:2px solid var(--lx-accent);outline-offset:1px}
.aitx::placeholder{color:var(--lx-muted);font-weight:400}
.aidrop{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:680px;box-sizing:border-box;border:1.5px dashed var(--lx-aline);border-radius:10px;background:var(--lx-soft);padding:12px 14px}
.aidrop.over{border-color:var(--lx-accent);background:var(--pg,#fff)}
.aidrop .aifile{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.aidrop .aifile:focus-visible+.aipick{outline:2px solid var(--lx-accent);outline-offset:2px}
.aidrop .aipick{margin:0;cursor:pointer}
.aifn{font-size:15px;color:var(--lx-muted);min-width:0;overflow-wrap:anywhere}
.aidrop.has .aifn{color:var(--lx-text);font-weight:600}
.aiacts{gap:10px;max-width:680px}
.aiacts .aibig{font-size:17.5px;font-weight:800;min-height:50px;padding:12px 24px}
.crumb{margin:0 0 10px}
.crumb .linkbtn{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:14px;font-weight:700;text-decoration:none;color:var(--lx-accent);background:var(--pg,#fff);border:1px solid var(--lx-line);border-radius:8px;padding:5px 12px;min-height:34px;cursor:pointer}
.crumb .linkbtn:hover{border-color:var(--lx-accent);background:var(--lx-soft)}
.opt.aicons{display:flex;align-items:flex-start;gap:10px;position:static;margin:8px 0 18px}
.opt.aicons input{position:static;opacity:1;inset:auto;width:22px;height:22px;margin:3px 0 0;flex:none;accent-color:var(--lx-accent);cursor:pointer}
.opt.aicons span,.opt.aicons input:checked+span{display:block;min-height:0;padding:0;border:0;background:none;border-radius:0;color:var(--lx-text);font-size:16px;font-weight:400;cursor:pointer}

/* ═══ v5m: 세부 단계 현재 탭 = 옅은 배경+글자색 강조(상단 ① 선택 탭처럼), 회색 처리 없음 ═══ */
.lx-sub .sub.none{opacity:1}
.lx-sub .sub[aria-current]{background:var(--pg,#fff);border-color:var(--lx-accent);color:var(--lx-accent);font-weight:800;box-shadow:inset 0 -3px 0 var(--lx-accent)}
.lx-sub .sub[aria-current] i{color:var(--lx-accent);border-color:var(--lx-accent)}
/* ═══ v5m: 사이드바 — 입력 요약·남은 입력(눌러서 이동)이 위계 맨 위, 표시 읽는 법은 작게 ═══ */
.sd-box{margin:0 0 16px}
.sd-box h2{display:flex;align-items:baseline;gap:8px;font-size:17px;margin:0 0 8px;color:var(--lx-ink)}
.sd-box h2 small{font-size:12.5px;font-weight:400;color:var(--lx-muted);margin-left:auto}
.sd-n{display:inline-block;min-width:24px;text-align:center;font-size:14px;padding:1px 8px;border-radius:12px;background:var(--lx-accent);color:#fff}
.sd-n.z{background:var(--lx-line);color:var(--lx-muted)}
.sd-list{display:flex;flex-direction:column;gap:6px}
.sd-it{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;text-align:left;font:inherit;font-size:14.5px;color:var(--lx-text);background:var(--pg,#fff);border:1px solid var(--lx-line);border-radius:10px;padding:8px 12px;min-height:40px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.sd-it:hover{border-color:var(--lx-accent);background:var(--lx-soft)}
.sd-it .k{color:var(--lx-muted);font-size:13px;flex:none}
.sd-it .v{font-weight:700;overflow-wrap:anywhere;text-align:right}
.sd-rem .v{text-align:left;font-weight:400}
.sd-chip{flex:none;font-size:12.5px;font-weight:500;padding:0 9px;border-radius:var(--r-pill);line-height:22px;white-space:nowrap;border:1px solid var(--lx-line);background:var(--lx-soft);color:var(--lx-text)}
.sd-rem:hover .sd-chip{border-color:var(--lx-accent)}
.sd-none{margin:0;font-size:14px;color:var(--lx-muted)}
.sd-leg{margin-top:20px;padding-top:12px;border-top:1px solid var(--lx-line)}
.sd-leg h3{font-size:12.5px;margin:0 0 6px;color:var(--lx-muted)}
.sd-leg .sdbd{font-size:12.5px;color:var(--lx-muted)}
.sd-leg summary{cursor:pointer;font-size:12.5px;color:var(--lx-link);margin:6px 0 4px}

/* ═══ v5n: 다루는 범위 ═══ */
.cv-leg{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.cv-l{list-style:none;margin:0;padding:0}
.cv-l li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--lx-line)}
.cv-l li:first-child{border-top:0}
.cv-n{font-weight:600;min-width:0}.cv-n small{display:block;font-weight:400;font-size:13.5px;color:var(--lx-muted);margin-top:2px}
.cv-b{flex:none;display:inline-block;font-size:13px;font-weight:700;padding:2px 10px;border-radius:12px;border:1px solid;white-space:nowrap}
.cv-ok{background:var(--bd-ok-bg);border-color:var(--bd-ok-bd);color:var(--bd-ok-ink)}
.cv-part{background:var(--bd-ass-bg);border-color:var(--bd-ass-bd);color:var(--bd-ass-ink)}
.cv-est{background:var(--bd-in-bg);border-color:var(--bd-in-bd);color:var(--bd-in-ink)}
.cv-no{background:var(--bd-unk-bg);border-color:var(--bd-unk-bd);color:var(--bd-unk-ink)}

/* ═══ v5o: 다루는 범위(문구사전 v7 절 L) ═══ */
.cv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 10px}
.cv-stats>div{border:1px solid var(--lx-line);border-radius:var(--r-card);background:var(--pg,#fff);padding:12px 14px}
.cv-stats b{display:block;font-size:26px;color:var(--lx-accent);line-height:1.2}
.cv-stats span{font-size:14px;color:var(--lx-text)}.cv-stats small{display:block;font-size:12.5px;color:var(--lx-muted);margin-top:3px}
.cv-key dl{margin:0;display:grid;gap:8px}
.cv-key dl>div,.cv-ev{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.cv-b{flex:none;display:inline-block;font-size:13px;font-weight:700;padding:2px 10px;border-radius:12px;border:1px solid;white-space:nowrap}
.cv-ok{background:var(--bd-ok-bg);border-color:var(--bd-ok-bd);color:var(--bd-ok-ink)}
.cv-part{background:var(--bd-ass-bg);border-color:var(--bd-ass-bd);color:var(--bd-ass-ink)}
.cv-est{background:var(--bd-in-bg);border-color:var(--bd-in-bd);color:var(--bd-in-ink)}
.cv-only{background:var(--lx-soft);border-color:var(--lx-aline);color:var(--lx-accent)}
.cv-no{background:var(--bd-unk-bg);border-color:var(--bd-unk-bd);color:var(--bd-unk-ink)}
.cv-e{flex:none;display:inline-block;font-size:12.5px;font-weight:700;padding:1px 8px;border-radius:6px;border:1px solid var(--lx-line);background:var(--pg,#fff);color:var(--lx-text)}
.cv-na{color:var(--lx-muted)}
.cv-area{margin:20px 0 0}
.cv-t{width:100%;border-collapse:collapse;font-size:14.5px}
.cv-t th{text-align:left;font-size:13px;color:var(--lx-muted);font-weight:700;border-bottom:2px solid var(--lx-line);padding:6px 8px}
.cv-t td{border-bottom:1px solid var(--lx-line);padding:9px 8px;vertical-align:top}
.cv-t td.cv-i small{display:block;font-weight:400;font-size:13px;color:var(--lx-muted);margin-top:3px}
.cv-t td.cv-i b{font-weight:600}
.cv-nolist dl{margin:0}.cv-nolist dt{font-weight:700;margin:10px 0 2px}.cv-nolist dt:first-child{margin-top:0}.cv-nolist dd{margin:0;font-size:14.5px}
@media (max-width:640px){
  .cv-stats{grid-template-columns:1fr}
  .cv-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cv-t,.cv-t tbody,.cv-t tr,.cv-t td{display:block}
  .cv-t tr{border:1px solid var(--lx-line);border-radius:var(--r-card);background:var(--pg,#fff);padding:10px 12px;margin:0 0 8px}
  .cv-t td{border:0;padding:3px 0}
  .cv-t td:not(.cv-i)::before{content:attr(data-l) ' ';font-size:12.5px;color:var(--lx-muted);margin-right:6px}
}
@media (min-width:641px){.cv-t{table-layout:fixed}.cv-t th:nth-child(1){width:44%}.cv-t th:nth-child(2){width:15%}.cv-t th:nth-child(3){width:14%}.cv-t th:nth-child(4){width:27%}.cv-t td{overflow-wrap:anywhere}}

/* ═══ v5t: 서류 읽기 — 사진 점검 줄·읽은 값 확인(큰 버튼, 상태 3종) ═══ */
.aiq{margin:8px 0 0;max-width:680px;font-size:15.5px}
.aiq.ok{color:var(--lx-text)}
.aiq.prob{border:1px solid var(--lx-aline);background:var(--lx-soft);border-radius:10px;padding:10px 14px}
.aiq.prob p{margin:0 0 8px;font-size:16px;font-weight:600}
.aiqa{margin:4px 0 0;gap:10px}.aiqb{min-height:48px;font-size:16px;cursor:pointer}
.cells{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.cell{border:1px solid var(--lx-line);border-radius:12px;background:var(--pg,#fff);padding:12px 14px}
.cell .ch{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 6px;font-size:16px}
.cell .cv{font-size:20px;margin:4px 0 8px}
.cell.unc{border-color:var(--bd-ass-bd);background:var(--bd-ass-bg)}
.cell.unr{border-style:dashed;border-color:var(--bd-unk-bd)}
.cell.pii{background:var(--lx-soft)}
.cell.done{border-color:var(--bd-ok-bd)}
.cell .cb{margin:8px 0 0;gap:10px}
.aibtn{min-height:52px;font-size:17px;font-weight:800;padding:12px 22px;cursor:pointer}
.cs{display:inline-block;font-size:13.5px;font-weight:800;padding:2px 10px;border-radius:12px;border:1px solid}
.cs-read{background:var(--bd-in-bg);border-color:var(--bd-in-bd);color:var(--bd-in-ink)}
.cs-unc{background:var(--bd-ass-bg);border-color:var(--bd-ass-bd);color:var(--bd-ass-ink)}
.cs-unr{background:var(--bd-unk-bg);border-color:var(--bd-unk-bd);color:var(--bd-unk-ink)}
.cs-ok{background:var(--bd-ok-bg);border-color:var(--bd-ok-bd);color:var(--bd-ok-ink)}
.cs-fix{background:var(--pg,#fff);border-color:var(--lx-line);color:var(--lx-text)}
.aied{font:inherit;font-size:18px;padding:10px 12px;border:1px solid var(--lx-line);border-radius:10px;width:100%;max-width:320px;box-sizing:border-box}
.aicrop{display:block;max-width:100%;border:1px solid var(--lx-line);border-radius:8px;margin:6px 0}
.aifinal{margin-top:16px}
@media (max-width:520px){.cell .cb .btn,.aiqa .btn{flex:1 1 100%}}

/* ═══ v5u: 비고·부록 탭 ═══ */
.bg-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.bg-tab{font:inherit;font-size:15px;padding:7px 14px;border:1px solid var(--lx-line);border-radius:999px;background:var(--pg,#fff);color:var(--lx-text);cursor:pointer}
.bg-tab b{font-weight:700;color:var(--lx-muted);margin-left:2px}
.bg-tab[aria-current]{background:var(--lx-soft);border-color:var(--lx-aline);color:var(--lx-accent);font-weight:800}
.bg-tab[aria-current] b{color:var(--lx-accent)}
.bg-tools{margin:8px 0 12px}.bg-q input{font:inherit;font-size:16px;padding:10px 14px;border:1px solid var(--lx-line);border-radius:10px;width:100%;max-width:520px;box-sizing:border-box;background:var(--pg,#fff)}
.bg-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}.bg-cl{font-size:13px;color:var(--lx-muted);margin:0 2px 0 8px}.bg-cl:first-child{margin-left:0}
.bg-chip{font:inherit;font-size:14px;padding:5px 12px;border:1px solid var(--lx-line);border-radius:999px;background:var(--pg,#fff);color:var(--lx-text);cursor:pointer}
.bg-chip.on{background:var(--lx-soft);border-color:var(--lx-accent);color:var(--lx-accent);font-weight:800}
.bg-ac{margin:6px 0 0;gap:8px}.bg-ac .btn{min-height:38px;font-size:14px;padding:6px 14px}
.bg-ch{margin:0 0 8px;border:1px solid var(--lx-line);border-radius:10px;background:var(--pg,#fff)}
.bg-ch>summary{cursor:pointer;padding:10px 14px;font-weight:700;font-size:16px;list-style-position:inside}
.bg-n{font-weight:400;color:var(--lx-muted);font-size:14px}
.bg-t{width:100%;border-collapse:collapse;font-size:14.5px;table-layout:fixed}
.bg-t th{text-align:left;font-size:13px;color:var(--lx-muted);font-weight:700;border-bottom:2px solid var(--lx-line);padding:6px 8px}
.bg-t th:nth-child(1){width:22%}.bg-t th:nth-child(2){width:16%}.bg-t th:nth-child(3){width:30%}.bg-t th:nth-child(4),.bg-t th:nth-child(5){width:9%}.bg-t th:nth-child(6){width:14%}
.bg-sort{font:inherit;font-weight:700;color:inherit;background:none;border:0;padding:0;cursor:pointer}.bg-sort.on{color:var(--lx-accent)}
.bg-t td{border-top:1px solid var(--lx-line);padding:8px;vertical-align:top;overflow-wrap:anywhere}
.bg-t tr.hit td{background:var(--lx-soft)}
.bg-i small{display:block;font-weight:400;font-size:12.5px;color:var(--lx-muted);margin-top:2px}
.bg-v.n{text-align:right;font-variant-numeric:tabular-nums}.bg-c{text-align:center}
.bg-st,.bg-more{font-size:13px;color:var(--lx-muted)}.bg-more summary{cursor:pointer}.bg-more summary span{color:var(--lx-link);text-decoration:underline}
.bg-ext{font-size:13px;white-space:nowrap}
.bg-b{display:inline-block;font-size:12.5px;font-weight:700;padding:1px 8px;border-radius:10px;border:1px solid;white-space:nowrap}
.bg-ok{background:var(--bd-ok-bg);border-color:var(--bd-ok-bd);color:var(--bd-ok-ink)}.bg-in{background:var(--bd-in-bg);border-color:var(--bd-in-bd);color:var(--bd-in-ink)}
.bg-ass{background:var(--bd-ass-bg);border-color:var(--bd-ass-bd);color:var(--bd-ass-ink)}.bg-unk{background:var(--bd-unk-bg);border-color:var(--bd-unk-bd);color:var(--bd-unk-ink)}
.bg-m21{margin:4px 0 8px}
@media (max-width:760px){
  .bg-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .bg-t,.bg-t tbody,.bg-t tr,.bg-t td{display:block}
  .bg-t tr{border-top:1px solid var(--lx-line);padding:10px 12px}.bg-t td{border:0;padding:3px 0}
  .bg-t td.bg-v{font-size:19px;font-weight:700;text-align:left}.bg-t td.bg-c{display:inline-block;text-align:left;margin-right:6px}
  .bg-t td[data-l]:not(.bg-i):not(.bg-v):not(.bg-c)::before{content:attr(data-l) ' ';font-size:12px;color:var(--lx-muted)}
  .bg-tabs{flex-wrap:nowrap;overflow-x:auto}.bg-tab{flex:0 0 auto}
}
@media print{.bg-tabs,.bg-tools,.bg-ac{display:none}.bg-ch{border:0}.bg-t tr{break-inside:avoid}}

/* v6l: ⑥ 규칙·정정·부록 안쪽 세부 탭 */
.rb-tabs{display:flex;gap:6px;margin:0 0 12px}
.rb-tab{font:inherit;font-size:15px;padding:7px 16px;border:1px solid var(--lx-line);border-radius:999px;background:var(--pg,#fff);color:var(--lx-text);cursor:pointer}
.rb-tab[aria-current]{background:var(--lx-soft);border-color:var(--lx-aline);color:var(--lx-accent);font-weight:800}

/* 영어 공개판: 제한 공개 표시 칩 */
.pv-chip{margin-left:8px;font-size:12px;font-weight:600;line-height:20px;padding:0 9px;border-radius:var(--r-pill);border:1px solid var(--lx-line);background:var(--lx-soft);color:var(--lx-text);vertical-align:middle}

/* v6n: 규칙·정정 아래에 비고·부록을 같은 화면으로 이어 붙인다 */
.rb-sec{margin-top:36px;padding-top:20px;border-top:1px solid var(--lx-line)}
.h1-sec{font-size:24px;font-weight:600;color:var(--lx-ink);margin:4px 0 8px;line-height:1.35}
@media (max-width:760px){.h1-sec{font-size:21px;margin:8px 0 6px}}

/* 스페인어: 긴 항목 이름과 값이 겹쳐 값이 한 글자씩 세로로 쌓이던 문제 — 줄을 나눈다 */
html:lang(es) .sd-it{flex-wrap:wrap}
html:lang(es) .sd-it .k{flex:0 1 auto;min-width:0}
html:lang(es) .sd-it .v{flex:1 1 40%;min-width:40%}

html:lang(es) .tbl-w{max-width:100%;overflow-x:auto}
html:lang(es) .tbl-w table{min-width:0}
