/* 329 사내 보수 담당의 정기 작업과 긴급 조치 = 운영 당번표(2026-10-16 사장님 '공통틀로 하지마 다 다르게').
   첫머리는 작업 카드 넷과 '대응 시간' 기준, 정기와 긴급은 주간 달력 위에 끼어드는 긴급 카드, 본업은 하루 막대와 장애 번개,
   내용과 기술은 관리자 화면 대 서버 선반, 비용 방식은 통과 표 모양, 변경 위험은 넘어지는 도미노, 재검토 신호는 경고등, 진행 방식은 긴급 호출 카드 */
.v-artd .sp-329 .prose{font-size:17px}
.v-artd .sp-329 .prose h2{margin:0 0 16px;padding:0;border:0;font-size:26px;letter-spacing:-.7px;display:block;min-height:0}
.v-artd .sp-329 .prose h2::before,.v-artd .sp-329 .prose h2::after{content:none}
.v-artd .sp-329 :where(.prose) .mt-s{padding:56px 0 4px}
.v-artd .sp-329 :where(.prose) .mt-s>p{margin:0 0 16px}
.v-artd .sp-329 :where(.prose) .mt>p{margin:0 0 16px}
.v-artd .sp-329 :where(.prose) .mt-lead{font-size:20px;line-height:1.7;color:var(--ink);margin:0 0 24px!important}
.v-artd .sp-329 :where(.prose) .mt-lead b{color:var(--blue)}

/* 작업 카드 넷 */
.v-artd .sp-329 :where(.prose) .mt-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 14px}
.v-artd .sp-329 :where(.prose) .mc{position:relative;padding:44px 14px 16px;border-radius:14px;background:var(--soft)}
.v-artd .sp-329 :where(.prose) .mc::before{content:"";position:absolute;left:14px;top:14px;width:20px;height:20px;border-radius:6px;background:var(--navy)}
.v-artd .sp-329 :where(.prose) .mc:nth-child(4)::before{background:#e5484d}
.v-artd .sp-329 :where(.prose) .mc b{display:block;margin-bottom:4px;font-size:15.5px;color:var(--ink)}
.v-artd .sp-329 :where(.prose) .mc span{font-size:13.5px;color:#4b5263}
.v-artd .sp-329 :where(.prose) .mt-key{display:flex;align-items:center;gap:18px;margin:0 0 22px!important;padding:16px 22px;border-radius:14px;background:var(--navy);color:#c9d1ee;font-size:15px}
.v-artd .sp-329 :where(.prose) .mt-key b{flex:none;font-size:22px;color:#fff;letter-spacing:-.5px}
.v-artd .sp-329 :where(.prose) .mt-warn{padding:16px 20px;border-left:5px solid #e5484d;border-radius:0 12px 12px 0;background:#fff6f6;font-size:15.5px;line-height:1.65}
.v-artd .sp-329 :where(.prose) .mt-warn b{display:block;margin-bottom:2px;color:#c4282d}

/* 주간 달력 */
.v-artd .sp-329 :where(.prose) .mt-week{margin:18px 0 22px;border-radius:16px;border:1px solid var(--line);overflow:hidden}
.v-artd .sp-329 :where(.prose) .wk-h{display:grid;grid-template-columns:repeat(7,1fr);background:var(--soft);border-bottom:1px solid var(--line)}
.v-artd .sp-329 :where(.prose) .wk-h span{padding:9px 0;text-align:center;font-size:13.5px;font-weight:800;color:var(--ink)}
.v-artd .sp-329 :where(.prose) .wk-h span:nth-child(n+6){color:#c4282d}
.v-artd .sp-329 :where(.prose) .wk-g{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(3,44px);gap:6px;padding:10px;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/7 - 1px),var(--line) calc(100%/7 - 1px) calc(100%/7))}
.v-artd .sp-329 :where(.prose) .wk-g .pl{display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--blue2);color:#1d3fc4;font-style:normal;font-size:12.5px;font-weight:800;text-align:center;line-height:1.2}
.v-artd .sp-329 :where(.prose) .wk-alert{display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:10px;background:#e5484d;color:#fff;font-size:13px;box-shadow:0 10px 20px -10px rgba(229,72,77,.8);transform:rotate(-1.5deg)}
.v-artd .sp-329 :where(.prose) .wk-alert b{font-size:14px}

/* 하루 막대 */
.v-artd .sp-329 :where(.prose) .mt-day{position:relative;margin:34px 0 22px}
.v-artd .sp-329 :where(.prose) .dy-t{display:grid;grid-template-columns:1fr 1.2fr 1fr;height:56px;border-radius:12px;overflow:hidden}
.v-artd .sp-329 :where(.prose) .dy-t span{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;font-weight:800}
.v-artd .sp-329 :where(.prose) .dy-n{background:var(--navy);color:#c9d1ee}
.v-artd .sp-329 :where(.prose) .dy-w{background:#fff3cc;color:#7a5600}
.v-artd .sp-329 :where(.prose) .dy-w small{font-size:12px;font-weight:600}
.v-artd .sp-329 :where(.prose) .dy-bolt{position:absolute;top:-24px;padding:3px 10px 3px 22px;border-radius:999px;background:#e5484d;color:#fff;font-size:12.5px;font-weight:800}
.v-artd .sp-329 :where(.prose) .dy-bolt::before{content:"";position:absolute;left:8px;top:50%;width:9px;height:13px;margin-top:-6.5px;background:#fff;clip-path:polygon(60% 0,0 58%,45% 58%,30% 100%,100% 40%,55% 40%)}
.v-artd .sp-329 :where(.prose) .dy-bolt.b1{left:8%}
.v-artd .sp-329 :where(.prose) .dy-bolt.b2{left:52%}

/* 관리자 화면 대 서버 선반 */
.v-artd .sp-329 :where(.prose) .mt-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 22px}
.v-artd .sp-329 :where(.prose) .mt-split>div{padding:20px;border-radius:18px}
.v-artd .sp-329 :where(.prose) .sp-a{background:var(--blue2)}
.v-artd .sp-329 :where(.prose) .sp-b{background:var(--navy);color:#e6e9f5}
.v-artd .sp-329 :where(.prose) .mt-split p{margin:0;font-size:14.5px;line-height:1.65}
.v-artd .sp-329 :where(.prose) .mt-split .sp-h{margin:0 0 12px;font-size:16px;font-weight:800}
.v-artd .sp-329 :where(.prose) .sp-a .sp-h{color:#1d3fc4}
.v-artd .sp-329 :where(.prose) .sp-b .sp-h{color:#fff}
.v-artd .sp-329 :where(.prose) .sp-mock{display:grid;gap:6px;margin:0 0 14px;padding:12px;border-radius:10px;background:#fff}
.v-artd .sp-329 :where(.prose) .sp-mock span{display:flex;justify-content:space-between;padding:7px 10px;border-radius:6px;background:var(--soft);font-size:13px;font-weight:700;color:var(--ink)}
.v-artd .sp-329 :where(.prose) .sp-mock span::after{content:"수정";color:#1d3fc4;font-size:12px}
.v-artd .sp-329 :where(.prose) .sp-rack{display:grid;gap:6px;margin:0 0 14px;padding:12px;border-radius:10px;background:#0f1230}
.v-artd .sp-329 :where(.prose) .sp-rack i{position:relative;height:24px;border-radius:5px;background:#2a2f5a}
.v-artd .sp-329 :where(.prose) .sp-rack i::before{content:"";position:absolute;left:10px;top:9px;width:6px;height:6px;border-radius:50%;background:#3ddc84;box-shadow:12px 0 0 #3ddc84,24px 0 0 #f5b400}
.v-artd .sp-329 :where(.prose) .sp-rack i::after{content:"";position:absolute;right:10px;top:10px;width:40%;height:4px;border-radius:2px;background:repeating-linear-gradient(90deg,#4a5190 0 4px,transparent 4px 7px)}

/* 업무 네 종류 */
.v-artd .sp-329 :where(.prose) .mt-four{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:16px 0 18px;padding:0;list-style:none;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1.5px var(--ink)}
.v-artd .sp-329 :where(.prose) .mt-four li{margin:0;padding:16px 10px;text-align:center;font-size:15px;font-weight:800;color:var(--ink);background:#fff}
.v-artd .sp-329 :where(.prose) .mt-four li+li{border-left:1.5px solid var(--ink)}
.v-artd .sp-329 :where(.prose) .mt-four li::before{content:none}
.v-artd .sp-329 :where(.prose) .mt-four li:first-child{background:#fff6f6;color:#c4282d}

/* 비용 방식 */
.v-artd .sp-329 :where(.prose) .mt-pay{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 18px}
.v-artd .sp-329 :where(.prose) .py{padding:18px;border-radius:16px;border:1.5px solid var(--line)}
.v-artd .sp-329 :where(.prose) .py b{display:block;margin:12px 0 4px;font-size:16px;color:var(--ink)}
.v-artd .sp-329 :where(.prose) .py p{margin:0;font-size:14px;line-height:1.55;color:var(--sub)}
.v-artd .sp-329 :where(.prose) .py .ic{display:flex;gap:5px;align-items:flex-end;height:44px}
.v-artd .sp-329 :where(.prose) .py-m .ic i{width:44px;height:44px;border-radius:6px 6px 10px 10px;border:2.5px solid var(--navy);border-top-width:6px;background:linear-gradient(to top,var(--blue2) 70%,transparent 70%)}
.v-artd .sp-329 :where(.prose) .py-t .ic i{width:24px;height:32px;border-radius:4px;background:var(--blue);transform:rotate(-6deg)}
.v-artd .sp-329 :where(.prose) .py-t .ic i:nth-child(2){transform:rotate(3deg);background:#4a6cff}
.v-artd .sp-329 :where(.prose) .py-t .ic i:nth-child(3){transform:rotate(-2deg);background:#86a0ff}
.v-artd .sp-329 :where(.prose) .py-h .ic i:first-child{width:44px;height:44px;border-radius:6px 6px 10px 10px;border:2.5px solid var(--navy);border-top-width:6px;background:linear-gradient(to top,var(--blue2) 70%,transparent 70%)}
.v-artd .sp-329 :where(.prose) .py-h .ic i:last-child{width:24px;height:32px;border-radius:4px;background:var(--blue);transform:rotate(-6deg)}

/* 도미노 */
.v-artd .sp-329 :where(.prose) .mt-domino{display:flex;align-items:flex-end;gap:16px;height:100px;margin:18px 0 22px;padding:0 0 0 6px;border-bottom:2px solid var(--ink)}
.v-artd .sp-329 :where(.prose) .mt-domino span{flex:none;width:18px;height:70px;border-radius:4px;background:var(--navy);transform-origin:bottom right}
.v-artd .sp-329 :where(.prose) .mt-domino span:nth-child(1){transform:rotate(38deg)}
.v-artd .sp-329 :where(.prose) .mt-domino span:nth-child(2){transform:rotate(26deg)}
.v-artd .sp-329 :where(.prose) .mt-domino span:nth-child(3){transform:rotate(12deg)}
.v-artd .sp-329 :where(.prose) .mt-domino .d0{position:relative;background:var(--blue)}
.v-artd .sp-329 :where(.prose) .mt-domino .d0,.v-artd .sp-329 :where(.prose) .mt-domino .dx{font-size:0}
.v-artd .sp-329 :where(.prose) .mt-domino .d0::after{content:"변경";position:absolute;left:-6px;top:-30px;font-size:13px;font-weight:800;color:var(--blue);transform:rotate(-38deg)}
.v-artd .sp-329 :where(.prose) .mt-domino .dx{position:relative;width:auto;height:auto;padding:10px 14px;margin-left:10px;border-radius:10px;background:#fff6f6;transform:none}
.v-artd .sp-329 :where(.prose) .mt-domino .dx::after{content:"다른 기능의 반복 오류";font-size:14px;font-weight:800;color:#c4282d}

/* 경고등 */
.v-artd .sp-329 :where(.prose) .mt-lamps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 20px;padding:18px;border-radius:18px;background:#14172f}
.v-artd .sp-329 :where(.prose) .lp{position:relative;padding:14px 14px 14px 52px;border-radius:12px;background:#1f2347}
.v-artd .sp-329 :where(.prose) .lp i{position:absolute;left:14px;top:16px;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ffd36b,#f5b400 60%,#b07d00);box-shadow:0 0 16px rgba(245,180,0,.7)}
.v-artd .sp-329 :where(.prose) .lp b{display:block;margin-bottom:4px;font-size:15px;color:#fff}
.v-artd .sp-329 :where(.prose) .lp span{font-size:13.5px;line-height:1.55;color:#c9d1ee}

/* 흐름소프트 진행 방식 = 긴급 호출 카드 */
.v-artd .sp-329 :where(.prose) .mt-we{margin:28px 0 8px;padding:24px 26px;border-radius:22px;background:#fff;box-shadow:0 0 0 2px var(--navy),0 26px 40px -30px rgba(27,31,58,.6)}
.v-artd .sp-329 :where(.prose) .cw-top{display:flex;gap:16px;align-items:flex-start;margin-bottom:18px}
.v-artd .sp-329 :where(.prose) .cw-ic{flex:none;width:48px;height:48px;border-radius:50%;background:var(--blue);position:relative}
.v-artd .sp-329 :where(.prose) .cw-ic::after{content:"";position:absolute;inset:13px;background:#fff;clip-path:path('M5 1 L9 1 L10 6 L7.5 8 C8.6 10.5 10.6 12.5 13 13.6 L15 11 L20 12 L20 16 C20 17.5 18.8 19 17 19 C8.5 18.5 1.5 11.5 1 3 C1 1.9 2.4 1 5 1 Z')}
.v-artd .sp-329 :where(.prose) .cw-k{margin:0 0 4px;font-size:13px;font-weight:800;color:var(--blue)}
.v-artd .sp-329 :where(.prose) .cw-t{margin:0;font-size:19px;font-weight:800;line-height:1.45;color:var(--ink)}
.v-artd .sp-329 :where(.prose) .cw-ch{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px;padding-left:64px}
.v-artd .sp-329 :where(.prose) .cw-ch p{margin:0 6px 0 0;font-size:13.5px;font-weight:800;color:var(--sub)}
.v-artd .sp-329 :where(.prose) .cw-ch span{padding:7px 14px;border-radius:999px;background:var(--soft);font-size:14px;font-weight:800;color:var(--ink)}
.v-artd .sp-329 :where(.prose) .cw-btn{display:inline-flex;margin-left:64px;padding:13px 24px;border-radius:999px;background:var(--navy);color:#fff!important;font-weight:800;text-decoration:none!important}
.v-artd .sp-329 :where(.prose) .cw-btn:hover{background:var(--blue)}

/* 실제 작동 시험 */
.v-artd .sp-329 :where(.prose) .mt-test{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 18px;padding:0;list-style:none}
.v-artd .sp-329 :where(.prose) .mt-test li{position:relative;margin:0;padding:16px 16px 16px 18px;border-radius:12px;background:var(--soft);font-size:15.5px;font-weight:800;color:var(--ink)}
.v-artd .sp-329 :where(.prose) .mt-test li::before{content:"시험";position:absolute;right:14px;top:50%;margin-top:-13px;padding:3px 9px;border:2px solid #1d3fc4;border-radius:6px;color:#1d3fc4;font-size:12px;font-weight:800;transform:rotate(-8deg)}

.v-artd .sp-329 :where(.prose) .mt-rel{margin:40px 0 18px;padding:18px 0 0;border-top:1px solid var(--line);list-style:none}
.v-artd .sp-329 :where(.prose) .mt-rel li{margin:0;padding:6px 0}
.v-artd .sp-329 :where(.prose) .mt-rel li::before{content:none}
.v-artd .sp-329 :where(.prose) .mt-rel a{font-weight:700;text-decoration:none}
.v-artd .sp-329 :where(.prose) .mt-rel a::before{content:"→ ";color:var(--sub)}

@media (max-width:720px){
  .v-artd .sp-329 :where(.prose) .mt-lead{font-size:18px}
  .v-artd .sp-329 .prose h2{font-size:22px}
  .v-artd .sp-329 :where(.prose) .mt-s{padding-top:46px}
  .v-artd .sp-329 :where(.prose) .mt-cards{grid-template-columns:1fr 1fr}
  .v-artd .sp-329 :where(.prose) .mt-key{flex-direction:column;align-items:flex-start;gap:6px}
  .v-artd .sp-329 :where(.prose) .wk-g{grid-template-rows:repeat(3,40px);gap:4px;padding:6px}
  .v-artd .sp-329 :where(.prose) .wk-g .pl{font-size:10.5px}
  .v-artd .sp-329 :where(.prose) .wk-alert{grid-column:1/8!important;font-size:12px}
  .v-artd .sp-329 :where(.prose) .mt-split{grid-template-columns:1fr}
  .v-artd .sp-329 :where(.prose) .mt-four{grid-template-columns:1fr 1fr}
  .v-artd .sp-329 :where(.prose) .mt-four li:nth-child(3){border-left:0}
  .v-artd .sp-329 :where(.prose) .mt-four li:nth-child(n+3){border-top:1.5px solid var(--ink)}
  .v-artd .sp-329 :where(.prose) .mt-pay{grid-template-columns:1fr}
  .v-artd .sp-329 :where(.prose) .mt-lamps{grid-template-columns:1fr}
  .v-artd .sp-329 :where(.prose) .mt-we{padding:22px 18px}
  .v-artd .sp-329 :where(.prose) .cw-ch,.v-artd .sp-329 :where(.prose) .cw-btn{padding-left:0;margin-left:0}
  .v-artd .sp-329 :where(.prose) .cw-btn{padding:13px 24px}
  .v-artd .sp-329 :where(.prose) .mt-test{grid-template-columns:1fr}
}
