.workflow-blockers { margin: 10px 0 12px; padding: 10px 14px; background: #fff3f4; border: 1px solid #e3a4ad; border-left: 4px solid #c6283a; border-radius: 8px; color: #961c2c; }
.workflow-blockers h2 { font-size: 14px; margin: 0 0 6px; }
.blocker-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 18px; }
.blocker-row { display: flex; align-items: center; gap: 10px; padding: 5px 0; }
.blocker-row > div { flex: 1; min-width: 0; }
.blocker-row strong { display: block; font-size: 13px; }
.blocker-row small, .blocker-help { display: block; font-size: 11px; line-height: 1.4; color: #961c2c; }
.btn.blocker-action { background: #fff; color: #a11d30; border-color: #d7808e; font-weight: 600; flex-shrink: 0; }
.blocking-field { padding: 6px 8px; background: #fff1f2; border: 1px solid #e3a4ad; border-left: 3px solid #c6283a; border-radius: 6px; }
.blocking-field dt, .blocking-field dd, .blocking-field dd.missing { color: #961c2c; }
.intake-verification.needs-check { margin-top: 10px; padding: 8px 10px; }
.section-blocker-badge { margin-left: 8px; font-size: 10px; vertical-align: middle; }
.setup-warning { margin-top: 4px; }
.modal-body .field:has(input[required]:invalid), .modal-body .field:has(select[required]:invalid), .modal-body .field:has(textarea[required]:invalid), .manager-check:has(input:not(:checked)) { background: #fff1f2; border-radius: 6px; padding: 8px; color: #961c2c; }
.modal-body .field input[required]:invalid, .modal-body .field select[required]:invalid, .modal-body .field textarea[required]:invalid { border-color: #c6283a; }
.document-progress { position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%); z-index: 10001; max-width: calc(100vw - 32px); width: 520px; display: flex; align-items: center; gap: 13px; padding: 15px 18px; background: #fff; color: #171717; border: 2px solid #e3b300; border-radius: 10px; box-shadow: 0 8px 30px #0003; }
.document-progress[hidden] { display: none; }
.document-progress .spinner { flex-shrink: 0; width: 26px; height: 26px; border-color: #eee4b6; border-top-color: #b88d00; }
.document-progress strong { display: block; font-size: 15px; }
.document-progress small { display: block; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.document-progress .processing-time { color: #74611e; }
.upload-button.processing { opacity: .8; cursor: wait; }
.extraction-row select { width: 100%; min-width: 0; }
@media(max-width:540px) { .extraction-row select { grid-column: 2; } }
@media(max-width:750px) { .blocker-list { grid-template-columns: 1fr; } .document-progress { width: calc(100vw - 32px); bottom: 10px; padding: 12px; } }
