.document-validator { max-width: 800px; margin: 2rem auto; }
.scan-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin: 1rem 0; }
#qr-file { max-width: 100%; }
#qr-reader { max-width: 500px; margin: 1rem auto; }
#qr-reader video, #qr-reader img { max-width: 100%; }
#code-form { display: grid; gap: .6rem; margin: 1rem 0; }
#protocol-form { display: grid; gap: .6rem; margin: 1rem 0; }
#protocol-number { width: 100%; padding: .75rem; font: inherit; }
#validation-code { width: 100%; padding: .75rem; font: inherit; }
#validation-result { margin: 1.5rem 0; padding: 1rem; border: 2px solid #687976; border-radius: 8px; }
#validation-result { scroll-margin-top: 160px; }
#validation-result[data-valid="true"] { border-color: #0e8577; background: #edf8f5; }
#validation-result[data-valid="false"] { border-color: #a13530; }
#result-data dt { font-weight: bold; margin-top: .8rem; }
#result-data dd { margin: .2rem 0; overflow-wrap: anywhere; }
#pdf-file { max-width: 100%; margin: .6rem 0; }
#result-fingerprint { font-family: monospace; }
.document-validator [hidden] { display: none !important; }
