.document-upload{border:2px dashed var(--color-primary-light);border-radius:var(--radius-base);background:var(--color-sub-card);padding:var(--space-6)var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;transition:all var(--transition-base);text-align:center;flex-direction:column;width:100%;min-height:130px;display:flex;position:relative}.document-upload.dragging{border-color:var(--primary);background-color:var(--color-primary-surface);transform:scale(1.02)}.document-upload:hover{border-color:var(--color-primary);background:var(--color-primary-surface)}.docuement-upload-remove{background:var(--error);width:20px;height:20px;color:var(--text-on-primary);font-size:var(--font-md);z-index:5;border:none;border-radius:50%;justify-content:center;align-items:center;line-height:1;transition:background .2s;display:flex;position:absolute;top:8px;right:8px}.drag-overlay{color:var(--primary);z-index:5;pointer-events:none;background:#0289b51a;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.document-upload input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.document-upload.uploaded{border-color:var(--success);background:var(--success-bg);border-style:solid;flex-grow:1}.document-upload-icon{background:var(--color-primary);border-radius:var(--radius-full);width:50px;height:50px;font-size:var(--icon-md);color:var(--text-on-primary);transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.upload-thumbnail{border:1px solid var(--border-default);transition:transform .2s}.document-upload.uploaded:hover .upload-thumbnail{transform:scale(1.1)}.document-upload.uploaded .document-upload-icon{background:var(--success-bg);color:var(--success)}.upload-hint{font-size:var(--font-xs);color:var(--color-muted)}img,picture,svg,canvas,video,iframe{-webkit-user-drag:none;user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;pointer-events:auto}.doc-viewer{background:var(--color-state);background:var(--color-state);position:relative}.doc-controls{background:var(--color-white);gap:.5rem}.zoom-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);width:28px;height:28px;color:var(--color-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.zoom-btn:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.doc-canvas{justify-content:center;align-items:flex-start;max-height:520px;padding:1rem;display:flex;overflow:auto}.zoom-slider-track{background:var(--color-border);cursor:pointer;border-radius:50px;align-items:center;width:60px;height:4px;margin:0 8px;display:inline-flex;overflow:hidden}.zoom-slider-fill{background:var(--color-primary);border-radius:50px;height:100%;transition:width .15s}.doc-canvas{background:var(--color-sub-card);justify-content:center;align-items:flex-start;max-height:520px;padding:1.5rem;display:flex;overflow:auto}.zoom-badge-floating{font-size:10px;font-weight:var(--font-semibold);background:var(--card-shadow);color:var(--color-white);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;z-index:10;border-radius:50px;justify-content:center;align-items:center;padding:3px 10px;display:flex;position:absolute;bottom:12px;right:12px}.viewer-image{border-radius:var(--radius-sm);box-shadow:var(--card-shadow);max-width:100%;max-height:500px;margin:0 auto;transition:transform .15s;display:block}.viewer-iframe{border-radius:var(--radius-sm);height:500px;box-shadow:var(--card-shadow);border:none;transition:width .2s}.pdf-preview{background:var(--color-sub-card);border-radius:var(--radius-sm);width:100%;height:100%;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.thumbnail-container{border-radius:var(--radius-sm);width:120px;height:70px;position:relative}.mini-status-dot{background:var(--text-on-primary);color:var(--success);font-size:var(--font-sm);border-radius:50%;line-height:0;display:flex;position:absolute;bottom:-4px;right:-4px}.thumbnail-container:hover .preview-overlay{opacity:1}.docuement-upload-remove{top:var(--space-2);right:var(--space-2);background:var(--error);color:var(--text-on-primary);border-radius:var(--radius-full);z-index:10;border:none;position:absolute}
