/* 296 요구사항 정의서의 6개 기본 구성과 개정 이력 = 스프레드시트 양식(2026-10-16 글마다 다른 레이아웃).
   머리는 행 번호와 격자가 있는 시트(항목, 작성 기준, 예시), 구간마다: 기호 붙은 확인 항목, 초시계와 시험 조건, 참고 화면의 적용과 제외 영역,
   범위 네 색 띠, 겹친 버전 문서, 체크 칸 검토 목록과 지울 표현, 현재 업무 세 칸, 업무흐름도에서 나오는 문서 셋, 부서 권한 격자 */
.v-artd .sp-296 .prose{font-size:17px}
.v-artd .sp-296 :where(.prose) .rq-lead{font-size:20px;line-height:1.7;color:var(--ink);margin:0 0 28px}
.v-artd .sp-296 :where(.prose) .rq-lead b{color:var(--blue)}
.v-artd .sp-296 .prose h2{margin:0 0 18px;padding:0;border:0;font-size:26px;letter-spacing:-.7px;display:block;min-height:0}
.v-artd .sp-296 .prose h2::before,.v-artd .sp-296 .prose h2::after{content:none}
.v-artd .sp-296 :where(.prose) .rq-s{padding:60px 0 4px}
.v-artd .sp-296 :where(.prose) .rq-s>p{margin:0 0 14px}
.v-artd .sp-296 :where(.prose) li::before{content:none}
.v-artd .sp-296 :where(.prose) ul,.v-artd .sp-296 :where(.prose) ol{list-style:none;padding:0}
.v-artd .sp-296 :where(.prose) li{margin:0}

/* 시트 */
.v-artd .sp-296 :where(.prose) .rq-sheet{border:1px solid #c9cedb;border-radius:10px;overflow-x:auto;background:#fff;box-shadow:0 20px 40px -32px rgba(27,31,58,.5)}
.v-artd .sp-296 :where(.prose) .sh-bar{display:flex;align-items:center;gap:10px;margin:0;padding:10px 14px;background:#1f7a4d;color:#fff;font-size:13.5px;font-weight:800}
.v-artd .sp-296 :where(.prose) .sh-bar i{width:16px;height:16px;border-radius:3px;background:#fff;box-shadow:inset 0 0 0 4px #1f7a4d,inset 0 0 0 6px #fff}
.v-artd .sp-296 :where(.prose) .rq-sheet table{margin:0;min-width:680px;border-radius:0;border-collapse:collapse;font-size:14px}
.v-artd .sp-296 :where(.prose) .rq-sheet th,.v-artd .sp-296 :where(.prose) .rq-sheet td{padding:12px 12px;border:1px solid #dfe2ea;vertical-align:top;line-height:1.55}
.v-artd .sp-296 :where(.prose) .rq-sheet thead th{background:#eef0f4;font-size:13px;color:#3b4152;border-bottom:1px solid #c9cedb;font-weight:800}
.v-artd .sp-296 :where(.prose) .rq-sheet thead .n{font-size:0}
.v-artd .sp-296 :where(.prose) .rq-sheet .n{width:34px;padding:12px 0;background:#eef0f4;color:#5b6475;text-align:center;font-weight:700;font-size:12.5px}
.v-artd .sp-296 :where(.prose) .rq-sheet tbody th{width:150px;text-align:left;font-size:15px;color:var(--ink);background:#fff}
.v-artd .sp-296 :where(.prose) .rq-sheet tbody th small{display:block;margin-top:2px;font-size:12.5px;font-weight:600;color:var(--sub)}
.v-artd .sp-296 :where(.prose) .rq-sheet td:first-child{font-weight:700}
.v-artd .sp-296 :where(.prose) .rq-sheet tbody td:nth-child(3){color:#3b4152;font-weight:400}
.v-artd .sp-296 :where(.prose) .rq-sheet tbody td:nth-child(4){background:#f4f8ff;color:#1d3fc4;font-weight:400}
.v-artd .sp-296 :where(.prose) .rq-sheet tbody tr:hover td,.v-artd .sp-296 :where(.prose) .rq-sheet tbody tr:hover th{background:#fffbe6}

/* 기호 붙은 확인 항목 */
.v-artd .sp-296 :where(.prose) .rq-more{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:20px 0 10px}
.v-artd .sp-296 :where(.prose) .rq-more div{padding:14px 0;border-top:2px solid var(--ink)}
.v-artd .sp-296 :where(.prose) .rq-more dt{display:flex;align-items:center;gap:10px;font-size:16.5px;font-weight:900;color:var(--ink)}
.v-artd .sp-296 :where(.prose) .rq-more dt i{width:30px;height:30px;border-radius:8px;background:var(--blue2);color:var(--blue);font-style:normal;display:grid;place-items:center;font-size:16px}
.v-artd .sp-296 :where(.prose) .rq-more dd{margin:6px 0 0 40px;font-size:15px;line-height:1.6;color:#3b4152}

/* 초시계 */
.v-artd .sp-296 :where(.prose) .rq-perf{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:center;margin:18px 0 20px;padding:22px;border-radius:18px;background:var(--soft)}
.v-artd .sp-296 :where(.prose) .pf-clock{position:relative;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#fff 0 54%,transparent 55%),conic-gradient(var(--blue) 0 18%,var(--blue2) 18% 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 14px #fff,0 0 0 6px var(--ink)}
.v-artd .sp-296 :where(.prose) .pf-clock::before{content:"";position:absolute;top:-16px;left:50%;width:22px;height:12px;margin-left:-11px;border-radius:3px;background:var(--ink)}
.v-artd .sp-296 :where(.prose) .pf-clock b{position:relative;font-size:30px;font-weight:900;color:var(--ink);line-height:1}
.v-artd .sp-296 :where(.prose) .pf-clock span{position:relative;font-size:13px;font-weight:800;color:var(--sub)}
.v-artd .sp-296 :where(.prose) .pf-spec p{margin:0}
.v-artd .sp-296 :where(.prose) .pf-q{font-size:17px;font-weight:800;line-height:1.5;color:var(--ink)}
.v-artd .sp-296 :where(.prose) .pf-k{margin:14px 0 8px!important;font-size:13.5px;font-weight:800;color:var(--sub)}
.v-artd .sp-296 :where(.prose) .pf-spec span{display:inline-block;margin:0 6px 6px 0;padding:6px 12px;border-radius:8px;background:#fff;border:1.5px solid var(--blue);color:#1d3fc4;font-weight:800;font-size:14px}

/* 참고 화면 */
.v-artd .sp-296 :where(.prose) .rq-ref{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:center;margin:18px 0 18px}
.v-artd .sp-296 :where(.prose) .rf-shot{position:relative;height:190px;border-radius:12px;border:5px solid var(--ink);background:repeating-linear-gradient(#fff 0 18px,var(--soft) 18px 24px)}
.v-artd .sp-296 :where(.prose) .rf-shot span{position:absolute;left:10px;right:10px;padding:8px;border-radius:8px;font-size:13px;font-weight:800;text-align:center}
.v-artd .sp-296 :where(.prose) .rf-in{top:12px;height:86px;display:flex;align-items:center;justify-content:center;background:rgba(46,91,255,.14);border:2px solid var(--blue);color:#1d3fc4}
.v-artd .sp-296 :where(.prose) .rf-out{bottom:12px;background:#fff;border:2px dashed #b4232a;color:#b4232a}
.v-artd .sp-296 :where(.prose) .rf-tx p{margin:0;font-size:15.5px;line-height:1.65}
.v-artd .sp-296 :where(.prose) .rf-k{margin-bottom:6px!important;font-weight:900;color:var(--ink)}

/* 범위 네 색 띠 */
.v-artd .sp-296 :where(.prose) .rq-band{display:flex;margin:18px 0 18px;border-radius:12px;overflow:hidden;font-weight:800;font-size:14.5px;text-align:center}
.v-artd .sp-296 :where(.prose) .rq-band span{flex:1;padding:16px 6px}
.v-artd .sp-296 :where(.prose) .b1{flex:1.6!important;background:var(--blue);color:#fff}
.v-artd .sp-296 :where(.prose) .b2{background:#3b4152;color:#fff}
.v-artd .sp-296 :where(.prose) .b3{background:var(--blue2);color:#1d3fc4}
.v-artd .sp-296 :where(.prose) .b4{background:repeating-linear-gradient(45deg,#fff 0 6px,var(--soft) 6px 12px);color:var(--ink);border:1px solid var(--line)}

/* 겹친 버전 문서 */
.v-artd .sp-296 :where(.prose) .rq-ver{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:center;margin:4px 0 10px}
.v-artd .sp-296 :where(.prose) .vr-stack{position:relative;height:200px}
.v-artd .sp-296 :where(.prose) .vr-stack span{position:absolute;width:112px;height:170px;padding:12px 14px;border-radius:6px;border:1px solid var(--line);background:#fff;font-weight:900;font-size:15px;color:var(--sub);box-shadow:0 8px 18px -14px rgba(27,31,58,.45)}
.v-artd .sp-296 :where(.prose) .vr-stack span:nth-child(1){left:0;top:0}
.v-artd .sp-296 :where(.prose) .vr-stack span:nth-child(2){left:52px;top:14px}
.v-artd .sp-296 :where(.prose) .vr-stack .now{left:104px;top:28px;border:2px solid var(--blue);color:var(--blue)}
.v-artd .sp-296 :where(.prose) .vr-stack em{position:absolute;left:12px;bottom:12px;padding:4px 8px;border-radius:6px;background:var(--blue);color:#fff;font-style:normal;font-size:12px}
.v-artd .sp-296 :where(.prose) .vr-tx p{margin:0 0 12px}
.v-artd .sp-296 :where(.prose) .vr-f{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.v-artd .sp-296 :where(.prose) .vr-f b{margin-right:4px;font-size:14px;color:var(--sub)}
.v-artd .sp-296 :where(.prose) .vr-f span{padding:6px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:14px;font-weight:700}

/* 검토 목록 */
.v-artd .sp-296 :where(.prose) .rq-check{margin:18px 0 18px;padding:8px 20px;border-radius:16px;border:1px solid var(--line)}
.v-artd .sp-296 :where(.prose) .rq-check li{position:relative;padding:14px 0 14px 40px;font-size:15px;line-height:1.55;color:#3b4152}
.v-artd .sp-296 :where(.prose) .rq-check li+li{border-top:1px dashed var(--line)}
.v-artd .sp-296 :where(.prose) .rq-check li::after{content:"";position:absolute;left:0;top:16px;width:22px;height:22px;border-radius:6px;border:2px solid var(--blue)}
.v-artd .sp-296 :where(.prose) .rq-check b{display:block;font-size:16px;color:var(--ink)}
.v-artd .sp-296 :where(.prose) .rq-words{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin:0 0 18px}
.v-artd .sp-296 :where(.prose) .rq-words p{margin:0;padding:14px 16px;border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.v-artd .sp-296 :where(.prose) .rq-words b{flex-basis:100%;font-size:13.5px}
.v-artd .sp-296 :where(.prose) .wd-x{background:#fff6f6}
.v-artd .sp-296 :where(.prose) .wd-x b{color:#b4232a}
.v-artd .sp-296 :where(.prose) .wd-x s{font-size:18px;font-weight:900;color:#5b6475;text-decoration-color:#e5484d;text-decoration-thickness:3px}
.v-artd .sp-296 :where(.prose) .wd-o{background:var(--blue2)}
.v-artd .sp-296 :where(.prose) .wd-o b{color:#1d3fc4}
.v-artd .sp-296 :where(.prose) .wd-o span{padding:5px 11px;border-radius:8px;background:#fff;font-weight:800;font-size:14.5px}

/* 현재 업무 세 칸 */
.v-artd .sp-296 :where(.prose) .rq-now{display:flex;margin:14px 0 16px}
.v-artd .sp-296 :where(.prose) .rq-now li{flex:1;position:relative;padding:16px 10px;border:2px solid var(--ink);margin-right:-2px;text-align:center;font-weight:900;font-size:16px;background:#fff}
.v-artd .sp-296 :where(.prose) .rq-now li:first-child{border-radius:12px 0 0 12px}
.v-artd .sp-296 :where(.prose) .rq-now li:last-child{border-radius:0 12px 12px 0;margin-right:0}
.v-artd .sp-296 :where(.prose) .rq-now li::after{content:"담당자와 자료";display:block;margin-top:4px;font-size:12.5px;font-weight:700;color:var(--sub)}

/* 진행 방식: 업무흐름도 → 문서 셋 */
.v-artd .sp-296 :where(.prose) .rq-we{margin:30px 0 8px;padding:26px 28px;border-radius:20px;background:var(--navy);color:#fff}
.v-artd .sp-296 :where(.prose) .we-k{margin:0 0 4px!important;font-size:13px;font-weight:800;color:#a9b9ff}
.v-artd .sp-296 :where(.prose) .we-t{margin:0 0 18px!important;font-size:20px;font-weight:800}
.v-artd .sp-296 :where(.prose) .we-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}
.v-artd .sp-296 :where(.prose) .wf-src{padding:12px 16px;border-radius:10px;background:var(--yellow);color:var(--navy);font-weight:900}
.v-artd .sp-296 :where(.prose) .wf-ar{width:34px;height:2px;background:#fff;position:relative;margin:0 4px}
.v-artd .sp-296 :where(.prose) .wf-ar::after{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;border-left:7px solid #fff;border-right:0}
.v-artd .sp-296 :where(.prose) .wf-doc{position:relative;padding:12px 16px 12px 34px;border-radius:4px 12px 4px 4px;background:#fff;color:var(--navy);font-weight:800;font-size:14.5px}
.v-artd .sp-296 :where(.prose) .wf-doc::before{content:"";position:absolute;left:12px;top:50%;width:12px;height:15px;margin-top:-7.5px;border:2px solid var(--blue);border-radius:2px}
.v-artd .sp-296 :where(.prose) .we-d{margin:0 0 18px!important;font-size:15px;color:#d3d9f5}
.v-artd .sp-296 :where(.prose) .we-btn{display:inline-flex;padding:12px 24px;border-radius:999px;background:var(--blue);color:#fff!important;font-weight:800;text-decoration:none!important}
.v-artd .sp-296 :where(.prose) .we-btn:hover{background:#fff;color:var(--navy)!important}

/* 부서 권한 격자 */
.v-artd .sp-296 :where(.prose) .rq-grid{margin:16px 0 16px;overflow-x:auto;border-radius:12px;border:1px solid var(--line)}
.v-artd .sp-296 :where(.prose) .rq-grid table{margin:0;min-width:520px;border-radius:0;font-size:14px}
.v-artd .sp-296 :where(.prose) .rq-grid th{background:var(--navy);color:#fff;font-size:13.5px;padding:10px 12px;border:0}
.v-artd .sp-296 :where(.prose) .rq-grid td{height:46px;padding:0 12px;text-align:center;border-bottom:1px solid var(--line)}
.v-artd .sp-296 :where(.prose) .rq-grid td i{display:inline-block;width:18px;height:18px;border-radius:50%;border:2px solid #b9bfce}

.v-artd .sp-296 :where(.prose) .rq-rel{margin:46px 0 16px;padding:18px 0 0;border-top:1px solid var(--line)}
.v-artd .sp-296 :where(.prose) .rq-rel li{padding:5px 0}
.v-artd .sp-296 :where(.prose) .rq-rel a{font-weight:700;text-decoration:none}
.v-artd .sp-296 :where(.prose) .rq-rel a::before{content:"→ ";color:var(--sub)}

@media (min-width:1200px){
  .v-artd .sp-296 :where(.prose) .rq-sheet{margin-left:-90px;margin-right:-90px}
}
@media (max-width:720px){
  .v-artd .sp-296 :where(.prose) .rq-lead{font-size:18px}
  .v-artd .sp-296 .prose h2{font-size:22px}
  .v-artd .sp-296 :where(.prose) .rq-s{padding-top:46px}
  .v-artd .sp-296 :where(.prose) .rq-sheet table{min-width:0}
  .v-artd .sp-296 :where(.prose) .rq-sheet thead{display:none}
  .v-artd .sp-296 :where(.prose) .rq-sheet tr{display:grid;grid-template-columns:34px 1fr;border-bottom:1px solid #c9cedb}
  .v-artd .sp-296 :where(.prose) .rq-sheet tbody td,.v-artd .sp-296 :where(.prose) .rq-sheet tbody th{border:0;border-top:1px solid #eef0f4}
  .v-artd .sp-296 :where(.prose) .rq-sheet .n{grid-row:span 3;border-top:0}
  .v-artd .sp-296 :where(.prose) .rq-sheet tbody th{width:auto}
  .v-artd .sp-296 :where(.prose) .rq-sheet tbody td:nth-child(4)::before{content:"예시  ";font-weight:800}
  .v-artd .sp-296 :where(.prose) .rq-more{grid-template-columns:1fr}
  .v-artd .sp-296 :where(.prose) .rq-perf{grid-template-columns:1fr;justify-items:center;text-align:left}
  .v-artd .sp-296 :where(.prose) .rq-ref,.v-artd .sp-296 :where(.prose) .rq-ver,.v-artd .sp-296 :where(.prose) .rq-words{grid-template-columns:1fr}
  .v-artd .sp-296 :where(.prose) .rf-shot{max-width:240px}
  .v-artd .sp-296 :where(.prose) .rq-band{flex-direction:column}
  .v-artd .sp-296 :where(.prose) .rq-band span{padding:11px}
  .v-artd .sp-296 :where(.prose) .vr-stack{height:200px;width:220px}
  .v-artd .sp-296 :where(.prose) .rq-we{padding:22px 20px}
}

/* 왼쪽 목차 칸(1360 이상)과 겹치지 않게 본문 폭 안으로(2026-10-16) */
@media (min-width:1360px){.v-artd .sp-296 :where(.prose) .rq-sheet{margin-left:0;margin-right:0}}
