.qpcs{min-width:0;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);margin:0 0 22px}.qpcs *,.qpcs-dialog *{box-sizing:border-box}.qpcs svg,.qpcs-dialog svg{width:19px;height:19px;flex:none}.qpcs-heading,.qpcs-modal-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.qpcs .eyebrow,.qpcs-dialog .eyebrow{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--muted)}.qpcs-heading h3{font-size:19px;line-height:1.3;letter-spacing:-.3px;margin:6px 0 0}.qpcs-refresh{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:36px}.qpcs-refresh svg{width:16px;height:16px}.qpcs-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.qpcs-stat{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;border:1px solid var(--line);border-radius:12px;padding:18px;text-align:left;background:var(--soft);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,background .15s}.qpcs-stat:hover{border-color:var(--steel);background:var(--panel)}.qpcs-stat>span:first-child{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-weight:600}.qpcs-stat>strong{font-size:36px;line-height:1;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums}.qpcs-stat>small{font-size:10px;line-height:1.5;color:var(--muted)}.qpcs-stat.is-live>strong,.qpcs-stat.is-live>span:first-child>svg{color:var(--green)}.qpcs-view{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:11px;margin-top:auto;font-size:10px;font-weight:600;color:var(--steel)}.qpcs-view svg{width:15px;height:15px}.qpcs-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-height:24px;font-size:10px;line-height:1.5;color:var(--muted)}.qpcs>.qpcs-status{margin-top:13px}.qpcs-connection{display:inline-flex;gap:7px;align-items:center}.qpcs-connection>i,.qpcs-badge>i{width:6px;height:6px;background:currentColor;border-radius:50%;flex:none}.qpcs-connection.is-live{color:var(--green)}.qpcs-connection.is-stale{color:var(--amber)}.qpcs-status>small{font-size:10px;color:var(--muted);margin-left:auto}
.qpcs-dialog{box-sizing:border-box;width:min(790px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 36px);border:1px solid var(--line);border-radius:18px;padding:0;background:var(--panel);color:var(--ink);box-shadow:var(--strong-shadow);overflow:hidden}.qpcs-dialog[open]{display:flex;flex-direction:column}.qpcs-dialog::backdrop{background:rgba(7,20,34,.65);backdrop-filter:blur(4px)}.qpcs-modal-heading{flex:none;padding:23px 25px;border-bottom:1px solid var(--line)}.qpcs-modal-heading>div{min-width:0}.qpcs-modal-heading h2{margin:7px 0 0;font-size:23px;line-height:1.3;letter-spacing:-.5px;overflow-wrap:anywhere}.qpcs-close{width:40px;height:40px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink);cursor:pointer}.qpcs-modal-body{padding:18px 25px 22px;overflow:auto;overscroll-behavior:contain;min-height:0}.qpcs-modal-body>p:first-child{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}.qpcs-modal-live{display:flex;align-items:center;gap:12px;margin:14px 0 18px}.qpcs-modal-live>.qpcs-status{flex:1}.qpcs-modal-live>.qpcs-refresh{flex:none;width:36px;padding:8px}.qpcs-tabs{display:flex;gap:4px;padding:4px;background:var(--soft);border:1px solid var(--line);border-radius:10px;margin-bottom:18px}.qpcs-tabs>button{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border:0;border-radius:7px;padding:8px 10px;font:inherit;font-size:11px;line-height:1.4;font-weight:600;background:transparent;color:var(--muted);cursor:pointer}.qpcs-tabs>button[aria-selected=true]{background:var(--panel);color:var(--ink);box-shadow:0 1px 4px #0001}.qpcs-tabs>button>span{font-size:10px;padding:2px 6px;background:var(--field-2,var(--soft));border-radius:5px;font-variant-numeric:tabular-nums}.qpcs-search-label{display:block;font-size:11px;font-weight:600;margin-bottom:7px;color:var(--ink)}#qpcs-search{width:100%;min-height:43px;border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--field);color:var(--ink);font:inherit;font-size:12px;margin:0}#qpcs-search::placeholder{color:var(--muted);opacity:1}.qpcs-list-summary{font-size:10px;line-height:1.7;color:var(--muted);margin:13px 0 1px;min-height:17px}.qpcs-roster{min-height:130px;outline-offset:4px}.qpcs-person{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid var(--line);min-width:0}.qpcs-person:last-child{border-bottom:0}.qpcs-avatar{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:11px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:650}.qpcs-avatar.is-live{background:var(--accent-soft);color:var(--green)}.qpcs-person-name{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.qpcs-person-name>strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.qpcs-person-name>small{font-size:10px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.qpcs-person-name>.qpcs-note{color:var(--amber)}.qpcs-person-time{display:flex;flex-direction:column;align-items:flex-end;gap:7px;max-width:250px;text-align:right}.qpcs-person-time>time,.qpcs-person-time>small{font-size:10px;line-height:1.5;color:var(--muted)}.qpcs-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--muted);font-size:10px;white-space:nowrap}.qpcs-badge.is-live{color:var(--green);background:var(--accent-soft)}.qpcs-empty{text-align:center;padding:35px 12px;color:var(--muted);font-size:12px;line-height:1.7}.qpcs-empty>strong{color:var(--ink);font-size:13px;font-weight:650}.qpcs-empty>p{max-width:460px;margin:7px auto 0}.qpcs-empty>.button{margin-top:18px}.qpcs-modal-footer{flex:none;padding:14px 25px;border-top:1px solid var(--line);font-size:10px;line-height:1.6;color:var(--muted);background:var(--soft)}.qpcs button:focus-visible,.qpcs-dialog button:focus-visible,.qpcs-dialog input:focus-visible,.qpcs-roster:focus-visible{outline:2px solid var(--steel);outline-offset:3px}.qpcs button:disabled,.qpcs-dialog button:disabled{opacity:.55;cursor:wait}html:has(.qpcs-dialog[open]){overflow:hidden}
@media(max-width:700px){.qpcs{padding:18px 16px}.qpcs-stats{gap:9px}.qpcs-stat{padding:15px 12px;gap:11px}.qpcs-stat>span:first-child{font-size:11px;gap:6px}.qpcs-stat>strong{font-size:32px}.qpcs-stat>small{font-size:9px}.qpcs-stat>span:first-child svg{width:16px;height:16px}.qpcs-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:14px}.qpcs-modal-heading{padding:19px 18px}.qpcs-modal-heading h2{font-size:20px}.qpcs-modal-body{padding:16px 18px 20px}.qpcs-modal-footer{padding:12px 18px}.qpcs-person{flex-wrap:wrap;gap:10px}.qpcs-person-name{flex-basis:calc(100% - 50px)}.qpcs-person-time{align-items:flex-start;text-align:left;max-width:calc(100% - 49px);margin-left:49px;gap:5px}#qpcs-search{font-size:16px}.qpcs-tabs>button{padding:8px 6px;font-size:10px;gap:4px}.qpcs-modal-live .qpcs-status>small{margin-left:0}}
@media(max-width:460px){.qpcs-heading h3{font-size:18px}.qpcs-heading .qpcs-refresh>span{display:none}.qpcs-heading .qpcs-refresh{width:36px;padding:8px}.qpcs-stats{grid-template-columns:1fr 1fr}.qpcs-stat:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px}.qpcs-stat:nth-child(3)>strong{grid-column:2;grid-row:1/3;font-size:29px}.qpcs-stat:nth-child(3)>small{grid-column:1}.qpcs-stat:nth-child(3)>.qpcs-view{display:none}.qpcs-status>small{margin-left:0}.qpcs-tabs{gap:2px}.qpcs-tabs>button{flex-direction:column;gap:5px;font-size:10px}}
@supports(padding:max(0px)){.qpcs-dialog{max-height:calc(100dvh - 24px - var(--qps-safe-top,env(safe-area-inset-top,0px)) - var(--qps-safe-bottom,env(safe-area-inset-bottom,0px)))}}
@media(prefers-reduced-motion:reduce){.qpcs-stat{transition:none}}
@media print{.qpcs-dialog{display:none!important}}

/* Keep both workforce groups visible in every attendance total. */
.qpcs-breakdown{display:flex;flex-direction:column;gap:7px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;line-height:1.4;color:var(--muted)}.qpcs-breakdown>span{display:flex;justify-content:space-between;gap:8px;align-items:baseline;min-width:0}.qpcs-breakdown strong{color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums;flex:none}.qpcs-stat.is-live .qpcs-breakdown strong{color:var(--green)}.qpcs-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px);gap:12px}.qpcs-filters>div{min-width:0}#qpcs-kind{width:100%;min-height:43px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--field);color:var(--ink);font:inherit;font-size:12px;margin:0}.qpcs-dialog select:focus-visible{outline:2px solid var(--steel);outline-offset:3px}
@media(max-width:700px){#qpcs-kind{font-size:16px}.qpcs-filters{grid-template-columns:minmax(0,1fr)}.qpcs-breakdown{font-size:10px}.qpcs-breakdown strong{font-size:12px}}
@media(max-width:460px){.qpcs-stat:nth-child(3)>.qpcs-breakdown{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:3px}}
@media(max-width:360px){.qpcs-breakdown{font-size:9px}.qpcs-breakdown>span{gap:4px}.qpcs-stat{padding-left:10px;padding-right:10px}.qpcs-stat:nth-child(3)>.qpcs-breakdown{gap:12px}}
