#css-warning { display: none; background: #fee2e2; color: #991b1b; padding: 1rem; text-align: center; font-family: sans-serif; border-bottom: 2px solid #ef4444; }
.hidden { display: none !important; }
.flex { display: flex !important; }
svg { max-width: 2rem; max-height: 2rem; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; border: 2px solid #f8fafc; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.cat-content { padding: 0; overflow-x: auto; }
table { width: 100%; text-align: left; border-collapse: collapse; font-size: 0.875rem; white-space: nowrap; min-width: 100%; background: white; }
th { padding: 1rem 1.25rem; background: rgba(255,255,255,0.9); backdrop-filter: blur(4px); border-bottom: 1px solid #e2e8f0; position: sticky; top: 0; z-index: 0; font-weight: bold; color: #64748b; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; }
td { padding: 1rem 1.25rem; border-bottom: 1px solid #f1f5f9; color: #334155; }
tr:last-child td { border: 0; }

td.payload { font-family: 'JetBrains Mono', monospace; color: #047857; word-break: break-all; white-space: normal; background: rgba(236,253,245,0.5); padding: 0.375rem 0.75rem; border-radius: 0.25rem; border: 1px solid #d1fae5; display: inline-block; margin-top: 0.25rem; margin-bottom: 0.25rem; }
td.reason { color: #64748b; white-space: normal; line-height: 1.625; }
.row-warning { background-color: rgba(255, 237, 213, 0.3); border-left: 3px solid #fb923c; }
.empty-state { color: #94a3b8; font-style: italic; text-align: center; padding: 2rem; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }

.stat-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
@media (min-width: 640px) { .stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* 🖨️ PDF Generation Print Styles */
@media print {
    body { background-color: white !important; color: black !important; padding: 0 !important; margin: 0 !important; }
    .no-print, header, .btn-primary, .btn-secondary, #uploadScreen { display: none !important; }
    #successScreen { display: block !important; padding: 0 !important; margin: 0 !important; border: none !important; box-shadow: none !important; }
    .glass-panel { border: none !important; box-shadow: none !important; padding: 0 !important; }
    
    .checklist-container { border: 2px solid #e2e8f0 !important; box-shadow: none !important; break-inside: avoid; margin-bottom: 2rem !important; }
    
    details { display: block !important; break-inside: avoid; }
    details > div { display: block !important; }
    
    details.report-category { border: 1px solid #e2e8f0 !important; box-shadow: none !important; break-inside: avoid; margin-bottom: 2rem !important; }
    details.report-category > summary { border-bottom: 2px solid #e2e8f0 !important; background: #f8fafc !important; font-size: 1.1rem !important; }
    
    * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
    @page { margin: 1cm; size: auto; }
}