/* Workforce module: printable documents (records, certificates, rosters, roll call) and
   wallet and ID cards (credit card size, 85.6 by 54 mm). */
.workforce-print-bar {
  margin-bottom: 16px;
}
.workforce-doc {
  background: white;
  border: 1px solid #DED9CF;
  border-radius: 9px;
  padding: 28px;
  margin-bottom: 22px;
}
.workforce-doc-head {
  display: flex;
  gap: 22px;
  align-items: center;
  border-bottom: 3px solid #DBB363;
  padding-bottom: 16px;
  margin-bottom: 20px;
}
.workforce-doc-head h2 {
  margin: 0 0 4px;
}
.workforce-doc-head p {
  margin: 0 0 4px;
  font-weight: 650;
}
.workforce-doc-head small {
  color: #666157;
}
.workforce-doc .panel {
  margin-top: 18px;
}
.workforce-doc-foot {
  font-size: 10px;
  color: #716B61;
  margin-top: 18px;
}
.workforce-sigs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 22px;
}
.workforce-sigs figure {
  margin: 0;
}
.workforce-sigs img {
  width: 100%;
  max-height: 120px;
  object-fit: contain;
  border-bottom: 1px solid #242424;
}
.workforce-sigs figcaption {
  font-size: 11px;
  margin-top: 4px;
}
.workforce-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
.workforce-wallet {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.workforce-wallet-front,
.workforce-wallet-back {
  width: 85.6mm;
  min-height: 54mm;
  border: 1px solid #b9c2d2;
  border-radius: 3mm;
  padding: 3.5mm 4mm;
  background: white;
  font-size: 9pt;
  line-height: 1.3;
  overflow: hidden;
}
.workforce-wallet-front h3 {
  font-size: 11pt;
  margin: 1mm 0 1.5mm;
  color: #181818;
}
.workforce-wallet-front p {
  margin: 0 0 1mm;
}
.workforce-wallet-kind {
  font-size: 7pt;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #DBB363;
}
.workforce-wallet-back {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1mm;
}
.workforce-wallet-back .workforce-qr-svg {
  width: 36mm;
}
.workforce-wallet-back small {
  font-size: 7pt;
}
.workforce-idcard {
  display: grid;
  grid-template-columns: 22mm 1fr;
  gap: 3mm;
  align-items: start;
}
.workforce-idcard .workforce-photo {
  width: 22mm;
  height: 27mm;
}
.workforce-cert {
  text-align: center;
  padding: 40px 32px;
  border: 6px double #181818;
}
.workforce-cert h1 {
  font-size: 30px;
  color: #181818;
}
.workforce-cert h2 {
  font-size: 26px;
  margin: 10px 0;
}
.workforce-cert .workforce-qr-svg {
  width: 110px;
  margin: 12px auto 0;
}
.workforce-cert-code {
  font-family: Consolas, monospace;
  font-size: 16px;
  letter-spacing: 1px;
}
.workforce-sheet td {
  height: 46px;
}
@media print {
  .workforce-tabs,
  .workforce-print-bar,
  .scope-bar {
    display: none !important;
  }
  .workforce-doc {
    border: 0;
    padding: 0;
  }
  .workforce-wallet-front,
  .workforce-wallet-back {
    break-inside: avoid;
  }
  .workforce-cards {
    gap: 6mm;
  }
  .workforce-table td::before {
    content: none !important;
  }
}
@media (max-width: 760px) {
  .workforce-doc {
    padding: 18px;
  }
  .workforce-doc-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .workforce-sigs {
    grid-template-columns: 1fr;
  }
}
/* Printing a card shown in a dialog (the ID card from the Training page). */
@media print {
  .workforce-print-dialog #root,
  .workforce-print-dialog #toast {
    display: none !important;
  }
  .workforce-print-dialog #modal {
    display: block !important;
    position: static;
    box-shadow: none;
    max-height: none;
    width: auto;
  }
  .workforce-print-dialog #modal header {
    display: none;
  }
}
