:root { --brand: #0d6efd; }

body { background: #f5f7fb; }

.card { box-shadow: 0 1px 3px rgba(0,0,0,.06); border: 1px solid #e5e9f0; }

.list-group-item-action:hover { background: #eef3ff; }

.test-row .check-grid { display: grid; grid-template-columns: 1fr auto; gap: .5rem; align-items: center; }

.status-stamp { display: inline-block; padding: .5rem 1.5rem; border: 3px solid; border-radius: .5rem; font-weight: bold; font-size: 1.25rem; transform: rotate(-4deg); }
.status-stamp.passed { color: #198754; border-color: #198754; }
.status-stamp.failed { color: #dc3545; border-color: #dc3545; }
.status-stamp.partial { color: #fd7e14; border-color: #fd7e14; }

@media (max-width: 575.98px) {
    .table-sm-stack thead { display: none; }
    .table-sm-stack tr { display: block; padding: .5rem; border-bottom: 1px solid #dee2e6; }
    .table-sm-stack td { display: flex; justify-content: space-between; padding: .25rem 0; border: none; }
    .table-sm-stack td::before { content: attr(data-label); font-weight: 600; color: #6c757d; }
}

@media print {
    nav, footer, .no-print, .btn { display: none !important; }
    body { background: white; }
    main.container { max-width: 100%; margin: 0; padding: 0; }
    .report { font-size: 11pt; }
    .report .card { border: none; box-shadow: none; }
    @page { size: A4; margin: 18mm 15mm; }
}
