.quality-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quality-card{border:1px solid var(--line,#d8e0e8);border-radius:12px;padding:14px;background:#fff}.quality-card strong{display:block;font-size:1.45rem;margin-top:4px}.quality-status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:700;background:#edf2f7;color:#31485f}.quality-status.Passed,.quality-status.Verified,.quality-status.Approved{background:#e5f5eb;color:#1d6b3a}.quality-status.Failed,.quality-status.Urgent{background:#fde8e8;color:#9b2525}.quality-status.Open,.quality-status.Pending{background:#fff3d8;color:#805d13}.quality-item{border:1px solid var(--line,#d8e0e8);border-radius:12px;padding:14px;margin:10px 0;background:#fff}.quality-item.fail{border-left:5px solid #b53030}.quality-item.pass{border-left:5px solid #2f7d4d}.quality-item.pending{border-left:5px solid #c18a22}.quality-item-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}.quality-requirements{display:grid;gap:8px}.quality-requirement{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line,#d8e0e8);border-radius:10px;padding:10px 12px}.quality-requirement.missing{background:#fff7e8;border-color:#e0b75c}.quality-requirement.complete{background:#eef8f1;border-color:#9dc6aa}.signature-box{border:1px solid var(--line,#d8e0e8);border-radius:12px;padding:12px;background:#fff}.signature-pad{width:100%;height:150px;border:1px dashed #8fa2b5;border-radius:8px;touch-action:none;background:#fff}.quality-queue-table td,.quality-queue-table th{vertical-align:top}.quality-actions{display:flex;flex-wrap:wrap;gap:8px}.punch-item{border:1px solid var(--line,#d8e0e8);border-radius:12px;padding:14px;margin:10px 0;background:#fff}.punch-item.overdue{border-color:#c85a5a;background:#fff8f8}@media(max-width:900px){.quality-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-item-grid{grid-template-columns:1fr}}@media(max-width:560px){.quality-summary-grid{grid-template-columns:1fr}}
