.bulk-document-modal{width:min(1000px,calc(100vw - 24px))}
.bulk-document-modal .upload-zone{margin-top:18px}
.bulk-document-row{padding:16px;border:1px solid var(--border);border-radius:9px;margin:14px 0;background:#f8faff}
.bulk-file-check{display:flex;align-items:flex-start;gap:10px;overflow-wrap:anywhere;font-size:14px}
.bulk-file-check input{margin-top:3px;flex-shrink:0}
.bulk-row-status{display:block;margin:9px 0 13px;color:#64748b}
.bulk-assignment-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}
.bulk-document-row .field{margin-bottom:8px}
#bulk-summary{margin:16px 0;font-size:14px}
@media(max-width:650px){.bulk-assignment-fields{grid-template-columns:1fr;gap:0}}

.upload-progress{position:sticky;top:0;z-index:3;margin:0 0 20px;padding:18px;border:1px solid #cdddfa;border-radius:12px;background:#f1f6ff;color:#203b60;box-shadow:0 3px 12px #1831530a}.upload-progress-scale,.upload-progress-bottom{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:10px}.upload-progress-scale b{color:#2563eb}.upload-progress progress{display:block;width:100%;height:12px;margin:7px 0 12px;border:0;border-radius:8px;overflow:hidden;accent-color:#2563eb}.upload-progress progress::-webkit-progress-bar{background:#dce6f5;border-radius:8px}.upload-progress progress::-webkit-progress-value{background:#2563eb;border-radius:8px;transition:width .15s}.upload-progress [data-upload-name]{font-size:14px;font-weight:600;overflow-wrap:anywhere}.upload-progress-bottom{color:#607797;flex-wrap:wrap}.upload-progress.has-error{border-color:#e6a9a9;background:#fff5f5}

.auth-spinner{display:block;width:28px;height:28px;margin:12px auto;border:3px solid #dce6f5;border-top-color:#2563eb;border-radius:50%;animation:auth-spin 1s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.auth-spinner{animation:none}}
