.cj-document-verifier { box-sizing: border-box; width: 100%; max-width: var(--cj-document-max-width, 600px); margin: 1rem auto; padding: 1rem; border: 1px solid #cbd5e1; border-radius: 12px; background: #fff; color: #172b4d; }
.cj-document-verifier[hidden] { display: none !important; }
.cj-document-verifier > p { margin: 0 0 .75rem; }
.cj-document-verifier > p:last-of-type { margin-bottom: 0; }
.cj-document-verifier p:empty { display: none; }
.cj-document-drop { box-sizing: border-box; padding: 1rem; border: 2px dashed #64748b; border-radius: 8px; background: #f8fafc; }
.cj-document-drop label { display: block; margin: 0; }
.cj-document-verifier .cj-document-status:not(:empty) { margin-top: .75rem; }
.cj-document-drop.is-dragging, .cj-document-drop:focus-within { border-color: #1256a0; background: #edf5ff; }
.cj-document-file { box-sizing: border-box; display: block; width: 100%; max-width: 100%; margin-top: .5rem; }
.cj-document-filename { overflow-wrap: anywhere; }
.cj-document-status:not(:empty) { padding: 1rem; border-left: 4px solid #1256a0; background: #edf5ff; }
.cj-document-status[data-state="valid"] { border-color: #18733b; background: #edf9f1; color: #14532d; }
.cj-document-status[data-state="invalid"], .cj-document-status[data-state="error"] { border-color: #a33423; background: #fff3ef; color: #852719; }
.cj-document-status[data-state="loading"] { display: flex; align-items: center; gap: .75rem; }
.cj-document-status[data-state="loading"]::before { content: ""; width: 1rem; height: 1rem; flex: 0 0 1rem; border: 3px solid #b9d2ec; border-top-color: #1256a0; border-radius: 50%; animation: cj-document-spin .8s linear infinite; }
@keyframes cj-document-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .cj-document-status[data-state="loading"]::before { animation: none; }
}
@media (max-width: 480px) {
    .cj-document-verifier, .cj-document-drop { padding: .75rem; }
}
