
/* Unified person search and individual attendance report. */
.person-picker{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;gap:0;min-width:180px;background:white;border:1px solid var(--line);border-radius:11px;align-items:center}
.person-picker:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px #00a2ba18}
.person-picker-input{min-width:0!important;width:100%!important;border:0!important;box-shadow:none!important;background:transparent!important;margin:0!important}
.person-picker-clear,.person-picker-toggle{border:0;background:transparent;padding:4px;font-size:19px;color:var(--navy);min-height:38px}
.person-picker-native{position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(100%);overflow:hidden;padding:0!important;border:0!important;pointer-events:none}
.person-picker-results{position:absolute;top:100%;inset-inline:0;z-index:1200;background:white;border:1px solid var(--line);border-radius:11px;box-shadow:0 12px 30px #18334d26;max-height:260px;overflow:auto;margin-top:4px}
.person-picker-results[hidden],.person-picker-clear[hidden]{display:none}
.person-picker-results [role=option]{display:block;text-align:right;width:100%;padding:11px 12px;min-height:44px;border:0;border-bottom:1px solid #eef2f6;background:white;color:var(--navy);font:inherit;white-space:normal}
.person-picker-results [role=option].active,.person-picker-results [role=option]:hover{background:#eaf7fa}
.person-picker-results [role=option][aria-selected=true]{background:#e9f7f1;color:#126348;font-weight:750}
.person-picker-hint{grid-column:1/-1;font-size:11px;color:var(--muted);padding:0 10px 3px}
.person-picker-hint:empty{display:none}
.personnel-report-card{grid-column:1/-1}
.personnel-report-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0}
.missing-staff-list{display:grid;gap:8px;max-height:55vh;overflow:auto}
.missing-staff-list article{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;background:#f7fafc}
.missing-staff-list small{display:block;color:var(--muted);margin-top:4px}
@media(max-width:640px){.personnel-report-heading{align-items:flex-start;flex-direction:column}.personnel-report-card .toolbar{display:grid;grid-template-columns:1fr 1fr}.personnel-report-card .toolbar>label:first-child{grid-column:1/-1}.person-picker{min-width:0}.personnel-report-result .staff-kpis{grid-template-columns:repeat(2,1fr)}}
@media print{body.printing-personnel-report .sidebar,body.printing-personnel-report .topbar,body.printing-personnel-report .page-head,body.printing-personnel-report .staff-attendance-grid>section:not(.personnel-report-card){display:none!important}body.printing-personnel-report .personnel-report-card{border:0;box-shadow:none;width:100%}body.printing-personnel-report .personnel-report-result table{font-size:9pt}}
