/* 보고용 주간보고서 — 첨부 '주간업무보고서.html' 디자인을 .wr 범위로 옮긴 것 */
.wr{
  --ink:#0f1216; --ink-2:#2a2f38; --muted:#6b7280; --line:#d7dae0; --line-2:#e9ebf0;
  --paper:#ffffff; --band:#f4f5f7; --accent:#0b3d91; --accent-soft:#eaf0fb;
  --highlight:#fff2a8; --danger:#b23a3a; --ok:#1f7a3a;
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";
  display:flex;flex-direction:column;align-items:center;gap:24px;
}
.wr *{box-sizing:border-box}
.wr .page{
  width:210mm;min-height:297mm;background:var(--paper);padding:16mm 16mm 14mm;
  box-shadow:0 24px 60px -20px rgba(15,20,30,.25),0 2px 4px rgba(15,20,30,.06);
  position:relative;display:flex;flex-direction:column;
  word-break:keep-all;overflow-wrap:anywhere;
}
.wr .doc-head{display:grid;grid-template-columns:1fr auto;align-items:flex-end;gap:12px;padding-bottom:10px;border-bottom:2.5px solid var(--ink)}
.wr .eyebrow{font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:600}
.wr h1.title{font-size:34px;line-height:1.05;margin:6px 0 0;font-weight:800;letter-spacing:-0.02em}
.wr h1 .hl{background:linear-gradient(transparent 62%,var(--highlight) 62%);padding:0 2px}
.wr .doc-meta{text-align:right;font-size:11px;color:var(--muted);line-height:1.5}
.wr .doc-meta .docno{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:3px;color:var(--ink-2);font-weight:600;font-variant-numeric:tabular-nums;margin-bottom:6px}

.wr .info{margin-top:10px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:2px;overflow:hidden}
.wr .info .cell{display:flex;flex-direction:column;padding:8px 12px;border-right:1px solid var(--line-2);background:#fff}
.wr .info .cell:last-child{border-right:0}
.wr .info .k{font-size:10px;color:var(--muted);letter-spacing:.02em;font-weight:600}
.wr .info .v{font-size:13px;font-weight:700;margin-top:2px;color:var(--ink);letter-spacing:-.01em}
.wr .info .v.range{font-variant-numeric:tabular-nums}
.wr .info.merged .cell-period{grid-column:span 2;border-right:0}

.wr section{margin-top:14px}
.wr .sec-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.wr .sec-num{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:11px;font-weight:700;width:20px;height:20px;border-radius:2px;letter-spacing:0;align-self:center}
.wr .sec-title{font-size:15px;font-weight:800;letter-spacing:-.02em}
.wr .sec-sub{font-size:10.5px;color:var(--muted);margin-left:auto;font-weight:500}

.wr table.rpt{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}
.wr table.rpt thead th{background:#f6f7f9;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;font-weight:700;font-size:10.5px;letter-spacing:.01em;color:var(--ink-2)}
.wr table.rpt tbody td{border-bottom:1px solid var(--line-2);padding:7px 8px;vertical-align:middle;line-height:1.35}
.wr table.rpt tbody tr:last-child td{border-bottom:1px solid var(--line)}
.wr table.rpt .num,.wr table.rpt th.center:first-child{padding-left:4px;padding-right:4px}
.wr table.rpt .num{white-space:nowrap;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600;font-size:10.5px}
.wr table.rpt .task{font-weight:700;color:var(--ink);letter-spacing:-.01em}
.wr table.rpt .task small{display:block;font-weight:500;color:var(--muted);font-size:10px;margin-top:2px;letter-spacing:0;line-height:1.45}
.wr table.rpt .center{text-align:center}
.wr table.rpt .note{font-size:10.5px;line-height:1.4}
.wr table.rpt td.empty,.wr .issues .empty{text-align:center;color:var(--muted);padding:12px 8px;font-size:11px}
.wr .src{display:inline-block;margin-left:6px;padding:0 5px;border:1px solid var(--line);border-radius:2px;font-size:9px;font-weight:600;color:var(--muted);letter-spacing:0;vertical-align:1px}
.wr .issues .src{margin-left:0;margin-top:2px}

.wr .prg{display:flex;align-items:center;gap:8px}
.wr .prg .bar{flex:1;height:6px;background:#eef0f4;border-radius:2px;overflow:hidden;position:relative}
.wr .prg .bar > i{display:block;height:100%;background:var(--accent);border-radius:2px}
.wr .prg .val{width:34px;text-align:right;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}
.wr .prg.done .bar > i{background:var(--ok)}
.wr .prg.hold .bar > i{background:var(--danger)}

.wr .badge{display:inline-block;padding:1px 6px;border-radius:2px;font-size:9.5px;font-weight:700;letter-spacing:.02em;border:1px solid transparent;vertical-align:1px;white-space:nowrap}
.wr .b-done{background:#e7f3ec;color:var(--ok);border-color:#cfe6d6}
.wr .b-ing{background:var(--accent-soft);color:var(--accent);border-color:#cddcf3}
.wr .b-hold{background:#fbecec;color:var(--danger);border-color:#f0d1d1}
.wr .b-plan{background:#f2eee5;color:#7a5c1c;border-color:#e5dcc4}
.wr .b-low{background:#f1f2f4;color:#5b6270;border-color:#e0e2e6}

.wr .issues{border:1px solid var(--line);border-left:3px solid var(--accent);padding:10px 14px;font-size:11px;line-height:1.55;background:#fbfcfe;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.wr .issues ol{margin:0;padding-left:18px}
.wr .issues li{margin-bottom:5px}
.wr .issues li:last-child{margin-bottom:0}
.wr .issues b{font-weight:800}
.wr .issues .tag{display:inline-block;font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:2px;margin-right:6px;background:#eef1f6;color:var(--ink-2);letter-spacing:.02em}
.wr .issues .tag.red{background:#fbecec;color:var(--danger)}
.wr .issues .tag.blue{background:var(--accent-soft);color:var(--accent)}
.wr .issues .tag.violet{background:#f1ecf9;color:#5b3fa0}
.wr .issues .due b{background:var(--highlight);padding:0 3px}

.wr .approval{margin-top:auto;padding-top:16px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px}
.wr .footnote{font-size:9.5px;color:var(--muted);line-height:1.5}
.wr .footnote.brand{font-weight:800;color:var(--ink-2);letter-spacing:-.01em}
.wr .corner{position:absolute;top:6mm;right:16mm;font-size:9.5px;color:var(--danger);letter-spacing:.16em;font-weight:700}

@media screen and (max-width:900px){
  .wr .page{width:100%;min-height:0;padding:20px 16px}
  .wr h1.title{font-size:26px}
  .wr table.rpt{font-size:10.5px}
}

/* 인쇄: A4 세로, 여러 페이지로 자연스럽게, 표 머리글 반복, 항목이 페이지 중간에서 잘리지 않게 */
@media print{
  @page{size:A4 portrait;margin:12mm 12mm 13mm}
  .wr{display:block;gap:0}
  .wr .page{width:auto;min-height:0;padding:0;box-shadow:none;margin:0;display:block}
  .wr .page + .page{break-before:page}
  .wr .approval{margin-top:14px}
  .wr .corner{top:-6mm;right:0}
  .wr table.rpt thead{display:table-header-group}
  .wr table.rpt tr{break-inside:avoid;page-break-inside:avoid}
  .wr .sec-head{break-after:avoid;page-break-after:avoid}
  .wr .issues li{break-inside:avoid;page-break-inside:avoid}
  .wr *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
