.attendance-dialog{width:min(950px,calc(100% - 28px))}.attendance-state{display:flex;align-items:center;justify-content:space-between;border-radius:10px;margin:16px 0;padding:12px 14px;background:#edf3ff}.attendance-roster{display:grid;gap:8px;max-height:300px;overflow:auto}.attendance-person{display:grid;grid-template-columns:minmax(190px,1fr) 180px 130px;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:11px 13px}.attendance-person>div{display:flex;flex-direction:column;gap:3px}.attendance-person small{color:var(--muted)}.attendance-person select{height:40px;border:1px solid #cfd8e5;border-radius:8px;padding:0 9px;background:#fff}.signed-mark{color:#087448;font-size:12px;font-weight:750}.trainer-sign-zone{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.trainer-sign-zone h3{margin:0}.signature-canvas{display:block;width:100%;height:150px;border:2px dashed #b8c5d8;border-radius:10px;margin-top:12px;background:#fff;touch-action:none}.signature-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:10px}.qr-zone{border-top:1px solid var(--line);margin-top:18px;padding-top:18px;text-align:center}.qr-zone img{width:min(360px,85%);height:auto}.qr-actions{display:flex;justify-content:center;gap:10px;margin-top:12px}.public-sign-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#eef3fb,#dfe9fa)}.public-sign-card{width:min(520px,100%);border:1px solid var(--line);border-radius:20px;padding:28px;background:#fff;box-shadow:0 22px 65px #1731541a}.public-sign-card h1{margin:8px 0}.public-sign-card select{width:100%;height:49px;border:1px solid #cfd8e5;border-radius:10px;padding:0 12px;background:#fff}.public-sign-card .signature-canvas{height:180px}.success-sign{text-align:center;padding:35px 10px}.success-sign strong{display:block;color:#087448;font-size:24px}@media(max-width:760px){.attendance-person{grid-template-columns:1fr 145px}.attendance-person .signed-cell{display:none}.signature-actions{flex-direction:column}.signature-actions button{width:100%}}
