.document-upload-btn{background:var(--rui-accent);color:#fff;cursor:pointer;border:none;border-radius:.5rem;outline:none;justify-content:center;align-items:center;height:40px;padding:0 1.25rem;font-size:1rem;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #00000014}.document-upload-btn:hover{background:#1e40af;transform:scale(1.05)}.document-upload-btn:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--rui-accent)27%,transparent)}.document-modal-overlay{z-index:50;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.document-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}.document-modal{z-index:10;color:#222;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;flex-direction:column;width:100%;max-width:32rem;max-height:90vh;padding:2rem;display:flex;position:relative;overflow-y:auto;box-shadow:0 8px 32px #00000029}.document-modal-header{margin-bottom:1.5rem}.document-modal-title{color:#222;margin-bottom:.5rem;font-size:2rem;font-weight:700}.document-modal-content{margin-bottom:2rem}.document-dropzone-inner{flex-direction:column;align-items:center;gap:.75rem;display:flex}.document-modal-inputs{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.document-dropzone{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;border:2px dashed #94a3b8;border-radius:.5rem;padding:2rem;transition:all .2s}.document-dropzone:hover{border-color:var(--rui-accent);background:#eff6ff}.document-dropzone.dragging{border-color:var(--rui-accent);background:#dbeafe;transform:scale(1.02)}.document-dropzone.selected{background:#f0fdf4;border-color:#22c55e}.document-dropzone-icon{background:color-mix(in srgb,var(--rui-accent)13%,transparent);border-radius:9999px;justify-content:center;align-items:center;width:3rem;height:3rem;margin:0 auto .75rem;display:flex}.document-file-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:.75rem;padding:.75rem}.document-file-name{color:#222;font-size:.95rem;font-weight:500}.document-file-size{color:#666;margin-top:.25rem;font-size:.8rem}.document-file-selected{color:#222;margin-bottom:.25rem;font-size:1.125rem;font-weight:600}.document-file-status{color:#666;font-size:.95rem}.document-input-label{color:#222;font-size:.95rem;font-weight:500;display:block}.document-input{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s;display:block}.document-input:focus{border-color:var(--rui-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--rui-accent)27%,transparent);outline:none}.document-input.error{border-color:#ef4444}.document-error{color:#ef4444;align-items:flex-start;gap:.5rem;margin-top:.5rem;font-size:.95rem;display:flex}.document-help{color:#666;margin-top:.5rem;font-size:.8rem}.document-modal-actions{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.document-cancel-btn{background:#f3f4f6;border:none;border-radius:.5rem;outline:none;justify-content:center;align-items:center;height:40px;padding:0 1rem;font-size:.95rem;font-weight:500;transition:background .2s;display:inline-flex}.document-cancel-btn:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--rui-accent)27%,transparent)}.document-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.document-upload-action-btn{color:#fff;cursor:pointer;background:#18181b;border:none;border-radius:.5rem;outline:none;justify-content:center;align-items:center;height:40px;padding:0 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #00000014}.document-upload-action-btn:hover{background:var(--rui-accent);box-shadow:0 4px 16px #2563eb1f}.document-upload-action-btn:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--rui-accent)27%,transparent)}.document-upload-action-btn:disabled{opacity:.5;cursor:not-allowed}.rui-upload-spin{animation:1s linear infinite rui-upload-spin}@keyframes rui-upload-spin{to{transform:rotate(360deg)}}.rui-upload-pulse{animation:1s infinite rui-upload-pulse}@keyframes rui-upload-pulse{0%,to{opacity:1}50%{opacity:.5}}
