/* File uploads use the same targets for dropping, clicking and keyboard input. */
.file-drop-target{border:1px dashed #adb4bf!important;border-radius:9px;background:#f6f7f9;color:inherit;cursor:pointer;transition:background .12s,border-color .12s;}
.file-drop-target:hover,.file-drop-target:focus-visible{border-color:#647080!important;background:#eef0f4;}
.file-drop-target:focus-visible{outline:2px solid #647080;outline-offset:3px;}
.file-drop-target.file-drag-over{border:2px dashed #d4484d!important;background:#fff0f1!important;outline:3px solid #d4484d22;outline-offset:2px;}
.file-drop-target[aria-disabled="true"],.file-drop-target:disabled{opacity:.55;cursor:wait;}
.document-file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-height:84px;padding:14px!important;font:inherit!important;font-size:var(--text,14px)!important;line-height:1.4;}
.document-file-drop small{font-size:12px;color:#737d8b;font-weight:400;}
.document-upload-actions{flex-wrap:wrap;}
.document-upload-actions .document-file-drop{flex:1 0 100%;}
.document-upload-status{font-size:12px;line-height:1.5;margin:8px 0 0;white-space:pre-line;overflow-wrap:anywhere;}
.quote-methods .file-drop-target{border-style:dashed!important;}
.quote-drop-hint{font-size:12px;color:var(--mut,#737d8b);margin:0;line-height:1.4;}
.import-file-drop{display:block;width:100%;padding:24px 16px;font:inherit;text-align:center;line-height:1.6;}
.import-file-drop small{display:block;font-size:12px;color:#737d8b;}
@media(hover:none){.quote-drop-hint{display:none;}}

.document-upload-result{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e3e6eb;padding:12px 0;font-size:12px;line-height:1.5;min-width:0;overflow-wrap:anywhere;}
.document-upload-result>div{min-width:0;}
.document-upload-result strong{font-size:12px;font-weight:600;}
.document-upload-result p{font-size:12px;margin:3px 0;}
.document-upload-result-actions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0;}
.document-upload-result-actions button,.document-upload-result-actions a{font-size:12px;padding:7px 10px;}
.document-upload-highlight{outline:2px solid #dc3e4c;outline-offset:3px;}
@media(max-width:1100px){.document-upload-result{align-items:flex-start;flex-direction:column;}.document-upload-result-actions{flex-shrink:1;}}

/* Shared chooser: compact field, same click/drop surface and readable error. */
.file-drop-target.field{padding:12px;display:flex;flex-direction:column;gap:6px}
.file-input-choose{font:inherit;color:inherit;border:0;background:transparent;min-height:44px;padding:4px;text-align:left;cursor:pointer;width:100%}
.file-input-status,.file-input-error{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.file-input-error{color:#b52530}.file-input-error:empty,.file-input-status:empty{display:none}
label.file-drop-target{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;cursor:pointer}label.file-drop-target .file-input-error{flex-basis:100%}
.stage-file-drop,.final-file-drop{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:68px;width:100%;padding:12px;font:inherit;text-align:center;color:inherit;box-sizing:border-box}
.stage-file-drop small,.final-file-drop small{font-size:12px;line-height:1.5;font-weight:400;color:#69717c}

.file-drop-target:has(>.file-input-choose){font-size:var(--text,14px)}.stage-file-drop,.final-file-drop{font-size:var(--text,14px)}

.file-upload-status{display:flex;align-items:flex-start;gap:10px;box-sizing:border-box;max-width:100%;margin:8px 0;padding:10px 12px;background:#f6f7f9;border-left:3px solid #adb4bf;font:inherit;line-height:1.5;overflow-wrap:anywhere}
.file-upload-status>div{min-width:0}.file-upload-status strong{font-size:inherit;font-weight:600}.file-upload-status[data-phase="error"]{border-left-color:#d1263d;color:#b52530}
.file-upload-spinner{flex:0 0 16px;width:16px;height:16px;margin-top:3px;border:2px solid #d8dce2;border-top-color:#d1263d;border-radius:50%;animation:file-upload-spin .8s linear infinite}.file-upload-spinner[hidden]{display:none}
@keyframes file-upload-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.file-upload-spinner{animation:none;border-top-color:#69717c}}
