.document-upload{--du-primary:#007aff;--du-primary-light:rgba(0,122,255,.1);--du-success:#34c759;--du-success-light:rgba(52,199,89,.1);--du-warning:#ff9f0a;--du-error:#ff3b30;--du-error-light:rgba(255,59,48,.1);--du-bg:hsla(0,0%,100%,.04);--du-border:hsla(0,0%,100%,.1);--du-border-hover:hsla(0,0%,100%,.2);--du-text:#fff;--du-text-secondary:hsla(0,0%,100%,.6);--du-text-muted:hsla(0,0%,100%,.4);--du-space-xs:4px;--du-space-sm:8px;--du-space-md:16px;--du-space-lg:24px;--du-space-xl:32px;--du-radius-sm:8px;--du-radius-md:12px;--du-radius-lg:16px}.document-upload-card{border:2px dashed var(--du-border);border-radius:var(--du-radius-lg);padding:var(--du-space-xl);text-align:center;transition:all .25s ease;cursor:pointer;position:relative;overflow:hidden;background:transparent}.document-upload-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,122,255,.03),transparent 50%,rgba(88,86,214,.03));opacity:0;transition:opacity .25s ease;pointer-events:none}.document-upload-card:hover{border-color:var(--du-primary);background:var(--du-primary-light)}.document-upload-card:hover:before{opacity:1}.document-upload-card.drag-over{border-color:var(--du-primary);background:var(--du-primary-light);transform:scale(1.01);box-shadow:0 0 30px rgba(0,122,255,.2)}.document-upload-card.drag-over:before{opacity:1}.document-upload-card.uploaded{border-style:solid;border-color:var(--du-success);background:var(--du-success-light)}.document-upload-card.uploaded:before{background:linear-gradient(135deg,rgba(52,199,89,.05),transparent);opacity:1}.document-upload-card.upload-error{border-style:solid;border-color:var(--du-error);background:var(--du-error-light)}.document-upload-card.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.upload-icon{font-size:48px;color:var(--du-text-muted);margin-bottom:var(--du-space-md);transition:all .25s ease;display:flex;align-items:center;justify-content:center}.document-upload-card:hover .upload-icon{color:var(--du-primary);transform:translateY(-4px)}.document-upload-card.drag-over .upload-icon{color:var(--du-primary);animation:uploadBounce .5s ease infinite}@keyframes uploadBounce{0%,to{transform:translateY(-4px)}50%{transform:translateY(-12px)}}.document-upload-card.uploaded .upload-icon{color:var(--du-success)}.upload-text{color:var(--du-text-secondary);font-size:15px;line-height:1.5;margin:0 0 var(--du-space-sm)}.upload-text-primary{font-size:16px;font-weight:600;color:var(--du-text);margin-bottom:var(--du-space-xs)}.upload-text-secondary{font-size:13px;color:var(--du-text-muted)}.upload-text .highlight,.upload-text strong{color:var(--du-primary);cursor:pointer}.upload-text .highlight:hover{text-decoration:underline}.upload-progress{margin-top:var(--du-space-md);width:100%}.upload-progress-bar-container{height:6px;background:hsla(0,0%,100%,.1);border-radius:3px;overflow:hidden;margin-bottom:var(--du-space-sm)}.upload-progress-bar{height:100%;background:linear-gradient(90deg,var(--du-primary),#5856d6);border-radius:3px;transition:width .3s ease;position:relative}.upload-progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3) 50%,transparent);animation:progressShimmer 1.5s ease infinite}@keyframes progressShimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.upload-progress-text{font-size:12px;color:var(--du-text-muted);display:flex;justify-content:space-between}.upload-progress.success .upload-progress-bar{background:var(--du-success)}.upload-progress.success .upload-progress-bar:after{animation:none}.upload-file-list{margin-top:var(--du-space-lg);display:flex;flex-direction:column;gap:var(--du-space-sm)}.upload-file-item{display:flex;align-items:center;gap:var(--du-space-md);padding:var(--du-space-md);background:var(--du-bg);border:1px solid var(--du-border);border-radius:var(--du-radius-md);transition:all .2s ease}.upload-file-item:hover{background:hsla(0,0%,100%,.06);border-color:var(--du-border-hover)}.upload-file-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.08);border-radius:var(--du-radius-sm);font-size:20px;flex-shrink:0}.upload-file-icon.file-pdf{color:#ff3b30;background:rgba(255,59,48,.1)}.upload-file-icon.file-doc{color:#007aff;background:rgba(0,122,255,.1)}.upload-file-icon.file-image{color:#af52de;background:rgba(175,82,222,.1)}.upload-file-icon.file-generic{color:hsla(0,0%,100%,.6)}.upload-file-info{flex:1 1;min-width:0}.upload-file-name{font-size:14px;font-weight:600;color:var(--du-text);margin:0 0 var(--du-space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-meta{font-size:12px;color:var(--du-text-muted);display:flex;gap:var(--du-space-sm)}.upload-file-status{display:flex;align-items:center;gap:var(--du-space-xs);font-size:12px;font-weight:500}.upload-file-status.status-uploading{color:var(--du-primary)}.upload-file-status.status-success{color:var(--du-success)}.upload-file-status.status-error{color:var(--du-error)}.upload-file-actions{display:flex;gap:var(--du-space-xs)}.upload-file-action{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--du-border);border-radius:var(--du-radius-sm);color:var(--du-text-muted);font-size:14px;cursor:pointer;transition:all .2s ease}.upload-file-action:hover{background:var(--du-bg);border-color:var(--du-border-hover);color:var(--du-text)}.upload-file-action.action-delete:hover{background:var(--du-error-light);border-color:var(--du-error);color:var(--du-error)}.upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--du-space-sm);min-height:44px;padding:0 var(--du-space-lg);background:linear-gradient(135deg,var(--du-primary),#5856d6);border:none;border-radius:9999px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:var(--du-space-md)}.upload-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,122,255,.3)}.upload-btn:active:not(:disabled){transform:translateY(0)}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.upload-btn-secondary{background:var(--du-bg);border:1px solid var(--du-border);color:var(--du-text)}.upload-btn-secondary:hover:not(:disabled){background:hsla(0,0%,100%,.08);border-color:var(--du-border-hover);box-shadow:none;transform:none}.upload-requirements{margin-top:var(--du-space-md);padding:var(--du-space-md);background:hsla(0,0%,100%,.02);border-radius:var(--du-radius-md);text-align:left}.upload-requirements-title{font-size:12px;font-weight:600;color:var(--du-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--du-space-sm)}.upload-requirements-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--du-space-xs)}.upload-requirements-list li{font-size:12px;color:var(--du-text-muted);display:flex;align-items:center;gap:var(--du-space-sm)}.upload-requirements-list li:before{content:"•";color:var(--du-primary)}.document-upload-card.compact{padding:var(--du-space-lg)}.document-upload-card.compact .upload-icon{font-size:32px;margin-bottom:var(--du-space-sm)}.document-upload-card.compact .upload-text-primary{font-size:14px}.document-upload-card.inline{display:flex;align-items:center;gap:var(--du-space-lg);padding:var(--du-space-lg);text-align:left}.document-upload-card.inline .upload-icon{font-size:36px;margin-bottom:0}.document-upload-card.inline .upload-content{flex:1 1}@media (max-width:768px){.document-upload-card{padding:var(--du-space-lg)}.upload-icon{font-size:40px}.upload-file-item{flex-wrap:wrap}.upload-file-info{width:calc(100% - 60px)}.upload-file-actions{width:100%;justify-content:flex-end;margin-top:var(--du-space-sm)}}@media (max-width:480px){.document-upload-card{padding:var(--du-space-md)}.upload-icon{font-size:32px}.upload-text-primary{font-size:14px}.upload-file-icon{width:40px;height:40px;font-size:18px}.upload-file-name{font-size:13px}.document-upload-card.inline{flex-direction:column;text-align:center}.document-upload-card.inline .upload-content{width:100%}}@media (prefers-reduced-motion:reduce){.document-upload-card,.upload-btn,.upload-file-item,.upload-icon,.upload-progress-bar{transition:none}.upload-progress-bar:after{animation:none}.document-upload-card.drag-over .upload-icon{animation:none;transform:translateY(-4px)}}