/* 386 견적서 전제와 최종 합의 문서의 일치 = 견적서와 계약서 연결선(2026-10-16 사장님 '공통틀로 하지마 다 다르게').
   첫머리 두 문서 사이 연결선, 견적 네 조건은 견적서 지면 위 번호 주석, 전제 대 준비 상태는 물음표 칸, 적용 관계는 겹친 세 문서,
   충돌은 구분 표, 견적서 없는 계약은 지운 문서, 금액 조정은 범위 막대 두 개, 진행 방식은 대금 분할 막대, 유효기간은 기간 띠,
   최종본은 버전 표 */
.v-artd .sp-386 .prose{font-size:17px}
.v-artd .sp-386 :where(.prose) .qc-lead{margin:0 0 22px;font-size:20px;line-height:1.7;color:var(--ink)}
.v-artd .sp-386 :where(.prose) .qc-lead b{color:var(--blue)}
.v-artd .sp-386 .prose h2{margin:0 0 18px;padding:0;border:0;font-size:27px;letter-spacing:-.8px;display:block;min-height:0}
.v-artd .sp-386 .prose h2::before,.v-artd .sp-386 .prose h2::after{content:none}
.v-artd .sp-386 :where(.prose) .qc-s{padding:60px 0 4px}
.v-artd .sp-386 :where(.prose) .qc-s>p{margin:0 0 16px}

/* 연결선 */
.v-artd .sp-386 :where(.prose) .qc-link{display:grid;grid-template-columns:1fr 110px 1fr;align-items:stretch;margin:0 0 16px}
.v-artd .sp-386 :where(.prose) .lk-doc{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:4px;background:#fff;border:1.5px solid var(--ink);box-shadow:6px 6px 0 var(--soft)}
.v-artd .sp-386 :where(.prose) .lk-doc.ctr{background:var(--navy);border-color:var(--navy);box-shadow:6px 6px 0 var(--blue2)}
.v-artd .sp-386 :where(.prose) .lk-t{margin:0 0 4px;padding-bottom:8px;border-bottom:2px solid var(--ink);font-weight:800;font-size:17px;color:var(--ink);letter-spacing:.1em}
.v-artd .sp-386 :where(.prose) .ctr .lk-t{color:#fff;border-color:#fff}
.v-artd .sp-386 :where(.prose) .lk-doc span{padding:8px 10px;border-radius:6px;background:var(--soft);font-size:14px;font-weight:700;color:var(--ink)}
.v-artd .sp-386 :where(.prose) .ctr span{background:rgba(255,255,255,.1);color:#fff}
.v-artd .sp-386 :where(.prose) .lk-lines{width:100%!important;height:100%!important;margin:0!important;stroke:var(--blue);stroke-width:2;fill:none;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.v-artd .sp-386 :where(.prose) .lk-lines path{vector-effect:non-scaling-stroke}
.v-artd .sp-386 :where(.prose) .qc-note{margin:0;padding:16px 20px;border-left:6px solid var(--blue);border-radius:0 12px 12px 0;background:#f6f8ff;font-size:15.5px;line-height:1.65}
.v-artd .sp-386 :where(.prose) .qc-note b{display:block;margin-bottom:4px;color:#1d3fc4}

/* 견적서 지면 + 주석 */
.v-artd .sp-386 :where(.prose) .qc-sheet{display:grid;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr;gap:0 26px;margin:6px 0 16px;padding:22px;border-radius:16px;background:var(--soft)}
.v-artd .sp-386 :where(.prose) .sh-t{grid-column:1;margin:0;padding:14px 0 10px;background:#fff;text-align:center;font-weight:800;letter-spacing:.3em;color:var(--ink);border:1px solid var(--line);border-bottom:0}
.v-artd .sp-386 :where(.prose) .sh-body{grid-column:1;grid-row:2;padding:12px 16px 20px;background:#fff;border:1px solid var(--line);border-top:2px double var(--ink);counter-reset:n}
.v-artd .sp-386 :where(.prose) .sh-body i{position:relative;display:block;height:9px;margin:14px 0;border-radius:4px;background:#e3e6ef}
.v-artd .sp-386 :where(.prose) .sh-body i.s{width:62%}
.v-artd .sp-386 :where(.prose) .sh-body i:nth-child(-n+4)::after{counter-increment:n;content:counter(n);position:absolute;right:-26px;top:-8px;width:22px;height:22px;border-radius:50%;background:#d23a3a;color:#fff;font-style:normal;font-size:12px;font-weight:800;display:grid;place-items:center}
.v-artd .sp-386 :where(.prose) .sh-notes{grid-column:2;grid-row:1/3;margin:0;padding:0;list-style:none;counter-reset:m}
.v-artd .sp-386 :where(.prose) .sh-notes li{counter-increment:m;position:relative;margin:0 0 10px;padding:12px 14px 12px 44px;border-radius:10px;background:#fff;font-size:14.5px;line-height:1.6;color:#3f4555}
.v-artd .sp-386 :where(.prose) .sh-notes li::before{content:counter(m);position:absolute;left:12px;top:13px;width:22px;height:22px;border-radius:50%;background:#d23a3a;color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.v-artd .sp-386 :where(.prose) .sh-notes b{display:block;color:var(--ink)}

/* 물음표 칸 */
.v-artd .sp-386 :where(.prose) .qc-vs{margin:6px 0 16px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.v-artd .sp-386 :where(.prose) .qc-vs p{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--line)}
.v-artd .sp-386 :where(.prose) .qc-vs p:first-child{border-top:0}
.v-artd .sp-386 :where(.prose) .qc-vs span{padding:11px 16px;font-size:14.5px;font-weight:700;color:var(--ink)}
.v-artd .sp-386 :where(.prose) .vs-h{background:var(--ink)}
.v-artd .sp-386 :where(.prose) .vs-h span{color:#fff!important;font-size:13.5px}
.v-artd .sp-386 :where(.prose) .qc-vs i{display:grid;place-items:center;font-style:normal;font-weight:800;color:#d23a3a;background:#fff6f6;border-left:1px dashed #e5a3a6}

/* 겹친 세 문서 */
.v-artd .sp-386 :where(.prose) .qc-stack{position:relative;height:200px;margin:6px 0 18px}
.v-artd .sp-386 :where(.prose) .qc-stack span{position:absolute;width:200px;height:130px;padding:14px;border-radius:4px;background:#fff;border:1.5px solid var(--ink);font-weight:800;color:var(--ink);box-shadow:0 10px 20px -16px rgba(27,31,58,.6)}
.v-artd .sp-386 :where(.prose) .d1{left:0;top:0;background:var(--navy)!important;color:#fff!important}
.v-artd .sp-386 :where(.prose) .d2{left:110px;top:24px}
.v-artd .sp-386 :where(.prose) .d3{left:220px;top:48px;background:var(--blue2)!important}
.v-artd .sp-386 :where(.prose) .st-rule{position:absolute;left:440px;top:60px;right:0;margin:0;padding:12px 14px;border-radius:10px;border:2px dashed var(--blue);font-size:14px;font-weight:700;color:#1d3fc4;line-height:1.5}

/* 구분 */
.v-artd .sp-386 :where(.prose) .qc-split{display:flex;align-items:center;gap:12px;margin:4px 0 12px!important}
.v-artd .sp-386 :where(.prose) .qc-split span{padding:10px 16px;border-radius:10px;background:var(--soft);font-weight:800;color:var(--ink)}
.v-artd .sp-386 :where(.prose) .qc-split b{padding:4px 10px;border-radius:999px;background:var(--yellow);color:var(--ink);font-size:13px}

/* 지운 문서 */
.v-artd .sp-386 :where(.prose) .qc-noq{display:flex;gap:10px;margin:6px 0 14px}
.v-artd .sp-386 :where(.prose) .qc-noq span{padding:14px 18px;border-radius:6px;border:1.5px solid var(--ink);font-weight:800;color:var(--ink)}
.v-artd .sp-386 :where(.prose) .qc-noq .nq-x{border-style:dashed;color:var(--sub);text-decoration:line-through;text-decoration-color:#d23a3a;text-decoration-thickness:2px}
.v-artd .sp-386 :where(.prose) .qc-noq span:nth-child(2){background:var(--navy);color:#fff}

/* 범위 막대 */
.v-artd .sp-386 :where(.prose) .qc-adj{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 14px}
.v-artd .sp-386 :where(.prose) .qc-adj>div{padding:16px;border-radius:12px;border:1px solid var(--line)}
.v-artd .sp-386 :where(.prose) .qc-adj p{margin:0}
.v-artd .sp-386 :where(.prose) .aj-k{margin-bottom:10px!important;font-weight:800;color:var(--ink)}
.v-artd .sp-386 :where(.prose) .aj-bar{height:14px;border-radius:7px;background:var(--soft);overflow:hidden}
.v-artd .sp-386 :where(.prose) .aj-bar i{display:block;height:100%;background:var(--blue)}
.v-artd .sp-386 :where(.prose) .aj-bar .full{width:100%}
.v-artd .sp-386 :where(.prose) .aj-bar .part{width:70%;background:repeating-linear-gradient(90deg,var(--blue) 0 calc(100% - 2px),#fff calc(100% - 2px))}
.v-artd .sp-386 :where(.prose) .aj-tag{margin-top:8px!important;font-size:13px;font-weight:700;color:var(--sub)}

/* 진행 방식 = 대금 분할 막대 */
.v-artd .sp-386 :where(.prose) .qc-hw{margin:22px 0 8px;padding:24px 26px;border-radius:20px;background:var(--navy);color:#fff}
.v-artd .sp-386 :where(.prose) .qc-hw p{margin:0}
.v-artd .sp-386 :where(.prose) .hw-k{font-size:13px;font-weight:800;color:#9fb3ff}
.v-artd .sp-386 :where(.prose) .hw-t{margin:6px 0 16px!important;font-size:21px;font-weight:800}
.v-artd .sp-386 :where(.prose) .hw-pay{margin-bottom:18px}
.v-artd .sp-386 :where(.prose) .py-k{margin-bottom:8px!important;font-size:13px;font-weight:700;color:#cfd6f5}
.v-artd .sp-386 :where(.prose) .py-bar{display:flex;gap:3px;margin-bottom:6px!important}
.v-artd .sp-386 :where(.prose) .py-bar span{padding:9px 0;border-radius:6px;text-align:center;font-weight:800;font-size:15px;background:var(--blue)}
.v-artd .sp-386 :where(.prose) .b55 span{flex:5}
.v-artd .sp-386 :where(.prose) .b334 span:nth-child(1),.v-artd .sp-386 :where(.prose) .b334 span:nth-child(2){flex:3;background:#7d93ff}
.v-artd .sp-386 :where(.prose) .b334 span:nth-child(3){flex:4;background:#7d93ff}
.v-artd .sp-386 :where(.prose) .b334 span:nth-child(2){background:var(--yellow);color:var(--ink)}
.v-artd .sp-386 :where(.prose) .py-n{margin-top:10px!important;font-size:14px;color:#cfd6f5}
.v-artd .sp-386 :where(.prose) .hw-btn{display:inline-flex;padding:13px 24px;border-radius:999px;background:#fff;color:var(--navy)!important;font-weight:800;text-decoration:none!important}
.v-artd .sp-386 :where(.prose) .hw-btn:hover{background:var(--blue2)}

/* 기간 띠 */
.v-artd .sp-386 :where(.prose) .qc-valid{display:flex;margin:6px 0 14px;border-radius:10px;overflow:hidden}
.v-artd .sp-386 :where(.prose) .qc-valid span{padding:12px 14px;font-weight:800;font-size:14px}
.v-artd .sp-386 :where(.prose) .vd-in{flex:2;background:#e6f6ef;color:#0b6b4f}
.v-artd .sp-386 :where(.prose) .vd-out{flex:1.4;background:repeating-linear-gradient(135deg,#fff6f6 0 10px,#fde8e8 10px 20px);color:#b3232a;border-left:3px solid #d23a3a}

/* 버전 표 */
.v-artd .sp-386 :where(.prose) .qc-files{margin:6px 0 14px;overflow-x:auto;border-radius:12px;border:1px solid var(--line)}
.v-artd .sp-386 :where(.prose) .qc-files table{margin:0;min-width:460px;border-radius:0;font-size:14.5px}
.v-artd .sp-386 :where(.prose) .qc-files th{background:var(--soft);font-size:13px}
.v-artd .sp-386 :where(.prose) .qc-files td{color:var(--sub)}
.v-artd .sp-386 :where(.prose) .qc-files tr.fin td{background:var(--blue2);color:#1d3fc4;font-weight:800}
.v-artd .sp-386 :where(.prose) .qc-sum{padding:16px 20px;border-radius:12px;border:1.5px solid var(--ink);font-size:15.5px;line-height:1.65;font-weight:700}
.v-artd .sp-386 :where(.prose) .qc-rel{margin:40px 0 10px;padding:16px 0 0;border-top:1px solid var(--line);list-style:none}
.v-artd .sp-386 :where(.prose) .qc-rel li{margin:0;padding:5px 0}
.v-artd .sp-386 :where(.prose) .qc-rel li::before{content:none}
.v-artd .sp-386 :where(.prose) .qc-rel a{font-weight:700;text-decoration:none}
.v-artd .sp-386 :where(.prose) .qc-rel a::before{content:"→ ";color:var(--sub)}

@media (max-width:720px){
  .v-artd .sp-386 :where(.prose) .qc-lead{font-size:18px}
  .v-artd .sp-386 .prose h2{font-size:23px}
  .v-artd .sp-386 :where(.prose) .qc-s{padding-top:46px}
  .v-artd .sp-386 :where(.prose) .qc-link{grid-template-columns:1fr;gap:10px}
  .v-artd .sp-386 :where(.prose) .lk-lines{display:none}
  .v-artd .sp-386 :where(.prose) .qc-sheet{grid-template-columns:1fr;padding:16px}
  .v-artd .sp-386 :where(.prose) .sh-t,.v-artd .sp-386 :where(.prose) .sh-body{width:200px;margin:0 auto}
  .v-artd .sp-386 :where(.prose) .sh-notes{grid-column:1;grid-row:auto;margin-top:16px}
  .v-artd .sp-386 :where(.prose) .qc-stack{height:auto;display:grid;gap:8px}
  .v-artd .sp-386 :where(.prose) .qc-stack span,.v-artd .sp-386 :where(.prose) .st-rule{position:static;width:auto;height:auto}
  .v-artd .sp-386 :where(.prose) .qc-split{flex-wrap:wrap}
  .v-artd .sp-386 :where(.prose) .qc-noq{flex-wrap:wrap}
  .v-artd .sp-386 :where(.prose) .qc-adj{grid-template-columns:1fr}
  .v-artd .sp-386 :where(.prose) .qc-hw{padding:22px 18px}
}
