.table-sub{display:block;color:#8190a5;margin-top:4px}.row-actions,.drawer-actions{display:flex;gap:8px;flex-wrap:wrap}.employee-file-head{display:flex;gap:16px;align-items:center;padding:8px 0 20px}.employee-file-head .avatar{width:58px;height:58px;font-size:18px}.employee-file-head h3{margin:0 0 4px}.employee-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}.employee-details>div{border:1px solid #e2e8f1;border-radius:13px;padding:12px;display:grid;gap:5px}.employee-details small,.document-checklist small{color:#7d8aa0}.document-checklist{display:grid;gap:9px;margin:12px 0 22px}.document-checklist>div{display:grid;grid-template-columns:28px 1fr auto;align-items:center;padding:12px;border:1px solid #e2e8f1;border-radius:12px}.document-checklist span{color:#15966f;font-weight:900}
.snik-badge{max-width:430px;margin:16px auto;border-radius:24px;overflow:hidden;border:2px solid #071f43;box-shadow:0 18px 45px rgba(7,26,54,.22);background:#eaf6ff;position:relative}.snik-badge:after{content:"";position:absolute;left:0;right:0;bottom:43px;height:5px;background:linear-gradient(90deg,#08a9df 0 58%,#e5232f 58% 76%,#f3d521 76% 88%,#08a9df 88%)}.badge-top{background:#071f43;color:#fff;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:900;letter-spacing:.06em;box-shadow:inset 0 0 0 1000px #071f43}.badge-top img{width:130px;height:46px;object-fit:contain;background:#fff;border-radius:8px}.badge-body{padding:26px 22px;display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:center;background:radial-gradient(circle at 92% 18%,rgba(24,168,216,.23),transparent 31%),linear-gradient(135deg,#eaf6ff,#dbeeff);box-shadow:inset 0 0 0 1000px rgba(225,242,255,.88)}.badge-photo{width:96px;height:110px;border-radius:18px;background:#246bfd;color:#fff;display:grid;place-items:center;font-size:30px;font-weight:900;box-shadow:inset 0 0 0 1000px #246bfd}.badge-body h3{margin:0 0 4px;font-size:21px;color:#071f43}.badge-body p{margin:0 0 12px;color:#355577}.badge-body small{display:block;margin-top:7px;color:#355577}.badge-bottom{padding:11px 18px;background:#09a9df;color:#fff;display:flex;justify-content:space-between;font-size:12px;font-weight:800;box-shadow:inset 0 0 0 1000px #09a9df}.document-print{display:block;margin:18px auto}
.official-document{position:relative;overflow:hidden;background:#fff;color:#17243a;border:1px solid #dbe3ed;border-radius:14px;padding:28px;max-width:760px;margin:auto}.official-watermark{position:absolute;inset:25% 12%;opacity:.045;display:grid;place-items:center;pointer-events:none}.official-watermark img{width:100%}.official-document>header{position:relative;display:flex;align-items:center;gap:18px}.official-document>header img{width:170px;height:70px;object-fit:contain}.official-document>header div{display:grid;gap:5px}.official-document>header small{color:#687790}.official-rule{display:grid;grid-template-columns:2fr 1fr 1fr;height:5px;margin:16px 0 28px}.official-rule i:nth-child(1){background:#08a9df}.official-rule i:nth-child(2){background:#f01f2d}.official-rule i:nth-child(3){background:#ffe900}.official-document h2{text-align:center;text-decoration:underline;margin:0 0 9px}.official-reference{text-align:center;color:#607087}.official-body{position:relative;line-height:1.65;margin:28px 0}.official-body table{width:100%;border-collapse:collapse;margin:20px 0}.official-body th,.official-body td{padding:10px;border:1px solid #dfe5ee;text-align:left}.official-body th{width:34%;background:#f5f8fc}.signature-block{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:38px;text-align:center}.signature-block span{padding-top:42px;border-top:1px solid #8b96a6}.invoice-parties{display:flex;justify-content:space-between;gap:20px;padding:16px;background:#f3f7fc;border-radius:12px}.invoice-parties>div{display:grid;gap:5px}.invoice-total{margin-left:auto;max-width:310px;padding:18px;background:#071f43;color:#fff;border-radius:12px;display:flex;justify-content:space-between;font-size:18px}.payment-note{color:#66758b;font-size:13px}.official-document>footer{position:relative;border-top:1px solid #dce4ee;margin-top:28px;padding-top:15px;display:flex;gap:14px;align-items:center;font-size:11px;color:#5f6e82}.official-document>footer img{width:105px}.official-document>footer p{margin:0}
@media(max-width:700px){.employee-details{grid-template-columns:1fr}.official-document{padding:18px}.official-document>header{display:block}.official-document>header img{width:140px}.signature-block{gap:16px}.badge-body{grid-template-columns:72px 1fr}.badge-photo{width:72px;height:90px}.invoice-parties{display:grid}}
@media print{body *{visibility:hidden!important}.drawer,.drawer *,.official-document,.official-document *,.snik-badge,.snik-badge *{visibility:visible!important}.drawer{position:absolute!important;inset:0!important;width:100%!important;transform:none!important;box-shadow:none!important}.drawer-head,.document-print{display:none!important}.official-document,.snik-badge{border:0;box-shadow:none;max-width:100%;margin:0 auto;page-break-inside:avoid}}
.attendance-panel{scroll-margin-top:24px}.attendance-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin:4px 0 20px}.attendance-summary>div{padding:15px 17px;border:1px solid #e2e8f1;border-radius:14px;background:#f8fbff;display:grid;gap:5px}.attendance-summary small{color:#718096}.attendance-summary b{font-size:24px;color:#10233f}.attendance-form{margin:0 0 20px;padding:18px;border:1px solid #cfe0ff;border-radius:16px;background:#f7faff}.attendance-filters{display:grid;grid-template-columns:minmax(260px,1fr) 180px 190px auto;gap:10px;align-items:center;margin-bottom:14px}.attendance-filters input,.attendance-filters select{min-height:43px;border:1px solid #d8e1ee;border-radius:11px;padding:0 12px;background:#fff;color:#17243b}.attendance-table small{white-space:nowrap}
@media(max-width:900px){.attendance-summary{grid-template-columns:repeat(2,1fr)}.attendance-filters{grid-template-columns:1fr 1fr}.attendance-filters .admin-search{grid-column:1/-1}}
@media(max-width:600px){.attendance-summary,.attendance-filters{grid-template-columns:1fr}.attendance-filters .admin-search{grid-column:auto}}
@media print{#attendanceSection,#attendanceSection *{visibility:visible!important}#attendanceSection{position:absolute!important;inset:0!important;border:0!important;box-shadow:none!important}.attendance-form,.attendance-filters,.attendance-panel .admin-toolbar,.attendance-panel td:last-child,.attendance-panel th:last-child{display:none!important}}
@media print{body.print-badge,body.print-badge *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}body.print-badge>*:not(#drawer){display:none!important}body.print-badge #drawer{display:block!important;visibility:visible!important;position:absolute!important;left:10mm!important;right:auto!important;top:10mm!important;bottom:auto!important;width:85.6mm!important;height:54mm!important;padding:0!important;overflow:visible!important;box-shadow:none!important;background:transparent!important}body.print-badge #drawerContent{width:85.6mm!important;height:54mm!important}body.print-badge .snik-badge{display:block!important;visibility:visible!important;width:85.6mm!important;height:54mm!important;max-width:none!important;margin:0!important;border:.7mm solid #071f43!important;border-radius:3mm!important;box-shadow:inset 0 0 0 100mm #eaf6ff!important;overflow:hidden!important}body.print-badge .snik-badge:after{bottom:7.5mm!important;height:1.2mm!important}.print-badge .badge-top{height:13mm!important;padding:2mm 3mm!important;gap:3mm!important;font-size:9pt!important;background:#071f43!important;box-shadow:inset 0 0 0 100mm #071f43!important;color:#fff!important}.print-badge .badge-top img{width:27mm!important;height:9mm!important;border-radius:1.5mm!important;background:#fff!important}.print-badge .badge-body{height:33mm!important;padding:3mm 4mm!important;grid-template-columns:18mm 1fr!important;gap:4mm!important;background:#eaf6ff!important;box-shadow:inset 0 0 0 100mm #eaf6ff!important}.print-badge .badge-photo{width:18mm!important;height:23mm!important;border-radius:2.5mm!important;font-size:17pt!important;background:#246bfd!important;box-shadow:inset 0 0 0 100mm #246bfd!important;color:#fff!important}.print-badge .badge-body h3{font-size:12pt!important;margin:0 0 1mm!important;color:#071f43!important}.print-badge .badge-body p{font-size:8pt!important;margin:0 0 2mm!important;color:#355577!important}.print-badge .badge-body b{font-size:8pt!important;color:#071f43!important}.print-badge .badge-body small{font-size:7pt!important;margin-top:1mm!important;color:#355577!important}.print-badge .badge-bottom{height:8mm!important;padding:2mm 4mm!important;font-size:7pt!important;align-items:center!important;background:#09a9df!important;box-shadow:inset 0 0 0 100mm #09a9df!important;color:#fff!important}.print-badge .drawer-head,.print-badge .document-print{display:none!important}}
.badge-photo img,.employee-file-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.badge-photo:has(img){box-shadow:none;background:#dce9f5}.employee-photo-create,.employee-photo-update{display:grid;gap:9px;padding:14px;border:1px dashed #a9bfd8;border-radius:14px;background:#f7fbff}.employee-photo-create input,.employee-photo-update input{padding:10px;background:#fff;border:1px solid #d6e0eb;border-radius:10px}.employee-photo-create small,.employee-photo-update small{color:#6d7c91}
.badge-print-sheet{margin:0 auto 24px;text-align:center}.badge-face-label{font-weight:900;letter-spacing:.18em;color:#718097}.badge-print-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.badge-back{height:286px;background:#eaf6ff}.badge-back:after{bottom:0}.badge-back-head{height:72px;padding:12px 18px;background:#071f43;color:#fff;display:flex;align-items:center;gap:13px;text-align:left;box-shadow:inset 0 0 0 1000px #071f43}.badge-back-head img{width:92px;height:42px;object-fit:contain;background:#fff;border-radius:7px}.badge-back-head b,.badge-back-head small{display:block}.badge-back-head small{font-size:8px;max-width:230px;margin-top:3px;color:#cfe6ff}.badge-back-body{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:center;padding:17px 20px 8px}.badge-security-code{width:82px;height:82px;padding:5px;background:#fff;border:2px solid #071f43;display:grid;grid-template-columns:repeat(9,1fr);gap:1px}.badge-security-code i{display:block;background:#fff}.badge-security-code i.on{background:#071f43}.badge-back-details{text-align:left;display:grid;gap:3px;color:#071f43}.badge-back-details span{font-size:12px;font-weight:800}.badge-back-details small{font-size:10px;color:#355577}.badge-back-details strong{font-size:10px;color:#087fa9;letter-spacing:.05em;margin-top:3px}.badge-notice{font-size:8px;line-height:1.35;color:#355577;margin:0 18px 8px;text-align:left}.badge-back-footer{margin:0 18px;padding-top:7px;border-top:1px solid #9fc7e5;display:flex;justify-content:space-between;font-size:8px;font-weight:800;color:#071f43}
@media print{body.print-badge #drawer{left:0!important;top:0!important;width:100%!important;height:auto!important}body.print-badge #drawerContent{width:100%!important;height:auto!important}body.print-badge .badge-print-sheet{width:85.6mm!important;height:54mm!important;margin:10mm!important;break-after:page!important;page-break-after:always!important}body.print-badge .badge-print-sheet:nth-of-type(2){break-after:auto!important;page-break-after:auto!important}body.print-front-only .badge-print-sheet:nth-of-type(2){display:none!important}body.print-badge .badge-face-label,body.print-badge .badge-print-actions{display:none!important}.print-badge .badge-back-head{height:13mm!important;padding:2mm 3mm!important;gap:3mm!important;background:#071f43!important;box-shadow:inset 0 0 0 100mm #071f43!important;color:#fff!important}.print-badge .badge-back-head img{width:23mm!important;height:9mm!important}.print-badge .badge-back-head b{font-size:8pt!important}.print-badge .badge-back-head small{font-size:5.5pt!important}.print-badge .badge-back-body{height:25mm!important;padding:2mm 4mm 1mm!important;grid-template-columns:20mm 1fr!important;gap:4mm!important}.print-badge .badge-security-code{width:19mm!important;height:19mm!important;padding:1mm!important}.print-badge .badge-back-details{gap:.7mm!important}.print-badge .badge-back-details b{font-size:8pt!important}.print-badge .badge-back-details span{font-size:6.5pt!important}.print-badge .badge-back-details small,.print-badge .badge-back-details strong{font-size:5.5pt!important}.print-badge .badge-notice{font-size:5pt!important;margin:0 4mm 1mm!important}.print-badge .badge-back-footer{margin:0 4mm!important;padding-top:1mm!important;font-size:5pt!important}.print-badge .badge-back:after{bottom:0!important}}
