/* One renderer and one set of physical dimensions serve the modal preview and print. */
.staffing-print-sheet {
  box-sizing: border-box;
  display: block;
  width: 283mm;
  min-width: 283mm;
  min-height: 0;
  height: 195mm;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  background: #fff;
  color: #202620;
  font-family: "Malgun Gothic", "맑은 고딕", Arial, sans-serif;
  font-size: 9pt;
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
  color-scheme: light;
}
.staffing-print-sheet *,
.staffing-print-sheet *::before,
.staffing-print-sheet *::after { box-sizing: border-box; }
.staffing-print-sheet .staffing-print-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88mm;
  align-items: stretch;
  gap: 6mm;
  min-height: 28mm;
  margin: 0 0 3mm;
}
.staffing-print-sheet .staffing-print-title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 28mm;
  margin: 0;
  padding: 2mm 4mm;
  border: .25mm solid #707970;
  color: #202620;
  font-size: 25pt;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 1.2mm;
  white-space: nowrap;
}
.staffing-print-sheet .staffing-print-management {
  width: 100%;
  min-width: 0;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
  color: #202620;
}
.staffing-print-sheet .staffing-print-management th,
.staffing-print-sheet .staffing-print-management td {
  height: 9mm;
  padding: 1mm 1.3mm;
  border: .25mm solid #707970;
  background: #fff;
  text-align: center;
  vertical-align: middle;
  white-space: normal;
  overflow: visible;
}
.staffing-print-sheet .staffing-print-management th { width: 15mm; font-size: 9pt; font-weight: 500; }
.staffing-print-sheet .staffing-print-managers {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1mm 3mm;
  min-height: 5mm;
}
.staffing-print-sheet .staffing-print-manager { display: inline-flex; flex-direction: column; font-size: 10pt; line-height: 1.2; white-space: nowrap; }
.staffing-print-sheet .staffing-print-manager small { display: block; margin-top: .3mm; color: #384038; font-size: 7pt; font-weight: 400; }
.staffing-print-sheet .staffing-print-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 7mm;
  margin: 0;
  padding: 0 .5mm 1.5mm;
  color: #202620;
  font-size: 10pt;
  font-weight: 500;
}
.staffing-print-sheet .staffing-print-table {
  width: 283mm;
  min-width: 283mm;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
  color: #202620;
}
/* 8 + 112 + (6 x 23) + 25 = 283mm. The 109mm usable description
   width exceeds the longest source role measured at 91.40mm in Malgun Gothic 6.5pt. */
.staffing-print-sheet .staffing-print-col-section { width: 8mm; }
.staffing-print-sheet .staffing-print-col-position { width: 112mm; }
.staffing-print-sheet .staffing-print-col-worker { width: 23mm; }
.staffing-print-sheet .staffing-print-col-notes { width: 25mm; }
.staffing-print-sheet .staffing-print-table th,
.staffing-print-sheet .staffing-print-table td {
  height: 14mm;
  margin: 0;
  padding: 1.3mm 1.5mm;
  border: .25mm solid #707970;
  background: #fff;
  text-align: center;
  vertical-align: middle;
  overflow: visible;
  text-overflow: clip;
  word-break: normal;
  overflow-wrap: normal;
}
.staffing-print-sheet .staffing-print-table thead th { height: 8mm; background: #f0f2ee; font-size: 9pt; font-weight: 500; }
.staffing-print-sheet .staffing-print-table .staffing-print-section {
  padding: 1mm;
  background: #fafbf9;
  font-size: 10pt;
  font-weight: 500;
  writing-mode: vertical-rl;
  letter-spacing: 1.2mm;
  white-space: nowrap;
}
.staffing-print-sheet .staffing-print-table .staffing-print-position { text-align: left; font-weight: 400; }
.staffing-print-sheet .staffing-print-position > strong { display: block; margin: 0 0 1.1mm; font-size: 10pt; font-weight: 500; line-height: 1.2; white-space: nowrap; }
.staffing-print-sheet .staffing-print-role {
  display: block;
  margin: 0;
  padding: 0;
  color: #303830;
  font-size: 6.5pt;
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  overflow: visible;
  text-overflow: clip;
}
.staffing-print-sheet .staffing-print-person { display: block; margin: 0; padding: 0; font-size: 9pt; line-height: 1.3; }
.staffing-print-sheet .staffing-print-person + .staffing-print-person { margin-top: 2mm; padding-top: 1.2mm; border-top: .2mm dotted #a8ada8; }
.staffing-print-sheet .staffing-print-person-name { display: block; font-size: 9pt; font-weight: 400; white-space: nowrap; }
.staffing-print-sheet .staffing-print-person-name.staffing-print-new { font-weight: 700; }
.staffing-print-sheet .staffing-print-shoe { display: block; min-height: 3.1mm; margin-top: .5mm; color: #384038; font-size: 8pt; font-weight: 400; white-space: nowrap; }
@page staffing { size: A4 landscape; margin: 7mm; }
@media print {
  #print-area .staffing-print-sheet { page: staffing; break-inside: avoid; break-after: page; box-shadow: none; }
  #print-area .staffing-print-sheet:last-child { break-after: auto; }
  .staffing-print-sheet { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .staffing-print-sheet .staffing-print-table thead { display: table-header-group; }
  .staffing-print-sheet .staffing-print-table tr { break-inside: avoid; page-break-inside: avoid; }
}
.staffing-print-sheet .staffing-print-content{width:283mm;margin:0;padding:0;transform-origin:top left}
.staffing-print-sheet .staffing-print-notes{font-size:7pt;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.staffing-print-sheet .staffing-print-notes>span{display:block}
#print-area.staffing-print-measuring{display:block!important;position:fixed;left:-10000px;top:0;width:283mm}
@media print{#print-area .staffing-print-sheet{height:195mm;min-height:0;overflow:hidden;break-inside:avoid;page-break-inside:avoid}#print-area.staffing-print-measuring{position:static!important;left:auto;top:auto;width:auto}}
