
/* ABSENSI WEB-TEST REPAIR V1.0.6
   Scope only: does not replace existing SPJ web-test theme. */
.absensiModuleCard{
  position:relative;overflow:hidden;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(255,255,255,.66);
  box-shadow:0 10px 32px rgba(15,23,42,.07);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  backdrop-filter:blur(18px) saturate(145%);
}
.absensiSoftPanel{
  background:rgba(248,250,252,.70);
  border:1px solid rgba(226,232,240,.86);
}
.absensiField{
  width:100%;border:1px solid rgb(203 213 225);border-radius:.75rem;
  padding:.625rem .75rem;background:rgba(255,255,255,.92);
  font-size:.75rem;color:rgb(15 23 42);outline:none;
}
.absensiField:focus{
  border-color:rgb(16 185 129);
  box-shadow:0 0 0 3px rgba(16,185,129,.10);
}
.absensiTimeField{font-variant-numeric:tabular-nums;letter-spacing:.04em}
.absensiGroupTab.is-active{
  background:rgb(5 150 105)!important;color:#fff!important;border-color:rgb(5 150 105)!important;
  box-shadow:0 7px 18px rgba(5,150,105,.14);
}
.absensiParticipantRow:hover{background:rgba(248,250,252,.9)}

.absensiPrintPage{
  width:210mm;height:297mm;min-width:210mm;max-width:210mm;
  min-height:297mm;max-height:297mm;position:relative;background:#fff;overflow:hidden;
  box-shadow:0 14px 36px rgba(15,23,42,.14);font-family:Arial,Helvetica,sans-serif;color:#111;
}
.absensiLetterhead{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.absensiPageContent{position:absolute;left:24mm;right:24mm;top:39mm;bottom:28mm;z-index:1}
.absensiPageTitle{text-align:center;font-size:11.5pt;font-weight:700;line-height:1.12;margin:0 0 4.5mm}
.absensiPageTitle span{display:block}
.absensiMeta{font-size:10.5pt;line-height:1.12;margin:0 0 6mm}
.absensiMetaRow{display:grid;grid-template-columns:34mm 5mm 1fr;align-items:start}
.absensiTable{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10.5pt}
.absensiTable col.absNo{width:9%}
.absensiTable col.absName{width:36%}
.absensiTable col.absJob{width:31%}
.absensiTable col.absSign{width:24%}
.absensiTable th,.absensiTable td{border:1px solid #222;padding:1.6mm 2mm;vertical-align:middle}
.absensiTable th{text-align:center;font-weight:700;height:9.5mm}
.absensiTable td.absNo{text-align:center}
.absensiTable td.absName{text-align:left}
.absensiTable td.absJob{text-align:center}
.absensiTable td.absSign{height:10mm}
.absensiContinuation .absensiPageContent{top:39mm}
.absensiContinuation .absensiTable td{height:10.2mm}
#absensiPrintRoot{display:none}

@media(max-width:768px){
  #tab-content-absensi .absensiField{font-size:16px}
  #absensiPreviewViewport{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media print{
  @page{size:210mm 297mm;margin:0}
  body.spj-absensi-printing{
    display:block!important;width:210mm!important;min-width:210mm!important;height:auto!important;
    margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
  }
  body.spj-absensi-printing > *:not(#absensiPrintRoot){display:none!important}
  body.spj-absensi-printing #absensiPrintRoot{display:block!important;width:210mm!important;margin:0!important;padding:0!important}
  body.spj-absensi-printing .absensiPrintPage{
    display:block!important;width:210mm!important;height:297mm!important;min-width:210mm!important;max-width:210mm!important;
    min-height:297mm!important;max-height:297mm!important;margin:0!important;box-shadow:none!important;transform:none!important;
    page-break-after:always;break-after:page;
  }
  body.spj-absensi-printing .absensiPrintPage:last-child{page-break-after:auto;break-after:auto}
}
